
:root{--bg:#f6f7fb;--card:#fff;--ink:#202531;--muted:#7d8491;--line:#e7e9f0;--purple:#7456f6;--blue:#4f7cff;--coral:#ff7f66;--green:#26a97b;--shadow:0 12px 30px rgba(26,32,56,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:13px Inter,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}
.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:#fff;border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;z-index:5}
.brand{display:flex;gap:10px;align-items:center;padding:2px 6px 20px}.brand .logo{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font:800 20px Manrope;background:linear-gradient(145deg,#7456f6,#ff7f66)}.brand strong{display:block;font-size:14px}.brand small,.profile small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
nav{display:flex;flex-direction:column;gap:5px}.nav{border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:12px;color:#626978;font-weight:700;font-size:12px}.nav:hover,.nav.active{background:#f0ecff;color:#6448df}
.profile{margin-top:auto;display:flex;gap:9px;align-items:center;padding:10px;border-radius:14px;background:#f7f7fb}
.main{margin-left:220px;width:calc(100% - 220px);padding:24px 28px 80px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar small{color:var(--muted);font-size:10px}.topbar h1{font:800 23px Manrope;margin:4px 0 0}.actions{display:flex;gap:10px;align-items:center}.role-switch{display:flex;background:#fff;border:1px solid var(--line);padding:3px;border-radius:12px}.role{border:0;background:transparent;padding:8px 10px;border-radius:9px;color:var(--muted);font-size:11px;font-weight:800}.role.active{background:#202531;color:#fff}.add{width:38px;height:38px;border:0;border-radius:12px;background:#202531;color:#fff;font-size:20px}
.view{display:none}.view.active{display:block}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 4px 16px rgba(26,32,56,.03)}.hero-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:16px}.two-col{display:grid;grid-template-columns:1.3fr .9fr;gap:16px;margin-top:16px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.span2{grid-column:span 2}.head,.module-head,.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.module-head{margin-bottom:16px}.head{margin-bottom:14px}.head h2,.module-head h2{font:800 18px Manrope;margin:0}.card h3{font:800 14px Manrope;margin:0 0 12px}.card h2{font:800 17px Manrope}.pill{display:inline-block;padding:4px 8px;border-radius:999px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}.pill.coral{background:#fff0ea;color:#d45f43}.pill.purple{background:#eee9ff;color:#6248d9}.pill.blue{background:#e8f0ff;color:#3d67d4}.pill.mint{background:#e4f8ef;color:#18815e}.pill.yellow{background:#fff6c8;color:#8b7000}
.primary,.secondary,.link,.yes,.btnrow button,.reward button{border:0;border-radius:10px;font-weight:800}.primary{background:#7456f6;color:#fff;padding:9px 12px;font-size:11px}.secondary{background:#f1eefc;color:#5f47c7;padding:9px 11px;font-size:11px}.link{background:transparent;color:#654ae0;font-size:11px}.assistant{background:linear-gradient(145deg,#202531,#343c52);color:#fff}.assistant p{color:#cdd2dd;font-size:11px;line-height:1.5}.assistant-actions{display:flex;gap:8px;margin-top:18px}.assistant .secondary{background:#fff;color:#343c52}
.agenda-item{display:grid;grid-template-columns:65px 10px 1fr auto;gap:10px;align-items:center;padding:10px;background:#fafafe;border-radius:12px;margin-bottom:8px}.agenda-item b{font-size:11px}.agenda-item small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.dot{width:8px;height:8px;border-radius:50%;background:#7456f6}.cyrus-dot{background:#ff7f66}.family-dot{background:#26a97b}.tag{font-size:8px;color:var(--muted);padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:#fff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.stat{border-radius:15px;padding:15px;min-height:105px;display:flex;flex-direction:column;justify-content:space-between}.stat span{font-size:10px;font-weight:700}.stat strong{font:800 21px Manrope}.stat small{color:#666e7c;font-size:9px}.lilac{background:#eee8ff}.blue{background:#e8f1ff}.yellow{background:#fff6c9}.peach{background:#ffe8dc}.purple-bg{background:#7456f6;color:#fff}.purple-bg small{color:#e9e5ff}
.children{display:grid;grid-template-columns:1fr 1fr;gap:12px}.child{border:1px solid var(--line);border-radius:15px;padding:14px}.avatar{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:800}.avatar.parent{background:#eee8ff;color:#6248d9}.avatar.evans{background:#e1ecff;color:#3964cf}.avatar.cyrus{background:#ffe9dd;color:#cf6337}.avatar.big{width:52px;height:52px;margin:0 auto 10px}.child h3,.row h3{margin:0;font-size:13px}.row small{color:var(--muted);font-size:9px}.status{margin-left:auto;border-radius:999px;padding:4px 7px;font-size:8px}.status.ok{background:#e3f7ee;color:#1a835f}.status.busy{background:#fff1d5;color:#946b00}.meter-row,.progress-item{display:flex;justify-content:space-between;font-size:9px;margin:13px 0 6px}.meter{height:7px;background:#eef0f5;border-radius:999px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,#7456f6,#ff7f66)}.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.mini div{background:#f8f8fc;border-radius:10px;padding:8px}.mini small{display:block;font-size:8px;color:var(--muted)}.mini b{font-size:9px}.approval{padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:9px}.approval b{font-size:11px}.approval small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.btnrow{display:flex;gap:7px;margin-top:10px}.btnrow button{padding:7px 9px;background:#f3f3f7;color:#686f7c;font-size:10px}.btnrow .yes{background:#e2f6ed;color:#177c59}
.week{display:grid;grid-template-columns:repeat(7,1fr);min-height:360px}.day{border-right:1px solid var(--line);padding:10px;background:linear-gradient(#fbfbfd,#fff)}.day:last-child{border-right:0}.day>b{display:block;text-align:center;font-size:9px;color:#6e7582;margin-bottom:12px}.event{padding:8px;border-radius:10px;font-size:9px;font-weight:700;margin-bottom:8px}.evans-bg{background:#e5edff;color:#355fc7}.cyrus-bg{background:#ffe9e1;color:#c45f39}.family-bg{background:#e1f7ed;color:#187c5b}.reminder{display:grid;grid-template-columns:45px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.reminder>b{color:#6649da;font-size:10px}.reminder strong{font-size:10px}.reminder small{display:block;color:var(--muted);font-size:8px;margin-top:3px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tab{border:1px solid var(--line);background:#fff;padding:7px 9px;border-radius:9px;font-size:9px;font-weight:700;color:#6f7580}.tab.active{background:#202531;color:#fff}.task{display:flex;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:10px}.task small{margin-left:auto;color:var(--muted);font-size:8px}.assessment{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.assessment>span{width:42px;height:38px;border-radius:10px;background:#f0ecff;color:#654ae0;display:grid;place-items:center;font-size:8px;font-weight:800}.assessment b{font-size:10px}.assessment small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.upload{border:1px dashed #ccd1df;border-radius:13px;padding:16px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center;margin-bottom:10px}.upload b{font-size:10px}.upload small{font-size:8px;color:var(--muted)}.upload.small{padding:12px}.timer{text-align:center;font:800 36px Manrope;padding:20px}.category{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:10px}.recurring{display:grid;grid-template-columns:1fr auto;gap:2px;padding:10px 0;border-bottom:1px solid var(--line)}.recurring b{font-size:10px}.recurring small{font-size:8px;color:var(--muted)}.recurring span{grid-row:1/3;grid-column:2;font-weight:800;font-size:10px}.center{text-align:center}.large{display:block;font:800 20px Manrope;margin:8px 0}.reward{display:flex;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.reward span{font-size:18px}.reward div{flex:1}.reward b{font-size:10px}.reward small{display:block;color:var(--muted);font-size:8px}.reward button{background:#f0ecff;color:#654ae0;padding:7px 9px;font-size:9px}.dinner{background:linear-gradient(145deg,#fff8da,#fff0e7)}.foods{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.foods button{border:1px solid #eadbb9;background:#fff;border-radius:11px;padding:9px;font-size:10px;font-weight:700}.foods .selected{border-color:#efb63f;box-shadow:0 0 0 2px rgba(239,182,63,.15)}.trip{display:grid;grid-template-columns:60px 1fr auto;gap:9px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.trip>b{font-size:10px;color:#654ae0}.trip strong{font-size:10px}.trip small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.trip span{font-size:8px;border-radius:999px;padding:4px 6px;background:#f2f3f7}.project,.growth-item{padding:11px 0;border-bottom:1px solid var(--line)}.project b,.growth-item b{font-size:10px}.project small,.growth-item small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.settings-row{display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.settings-row b{font-size:10px}.settings-row small{display:block;color:var(--muted);font-size:8px}.toggle-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:10px}
.mobile-nav{display:none}.modal{position:fixed;inset:0;background:rgba(20,25,35,.45);display:none;align-items:center;justify-content:center;z-index:20}.modal.open{display:flex}.modal-card{width:min(460px,92vw);background:#fff;border-radius:18px;padding:18px}.close{border:0;background:#202531;color:#fff;width:34px;height:34px;border-radius:10px;font-size:18px}.modal label{display:block;font-size:9px;font-weight:700;margin-bottom:10px;color:#5d6470}.modal input,.modal select{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;margin-top:5px;background:#fafafe}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.full{width:100%}
@media(max-width:1100px){.hero-grid,.two-col,.three-col{grid-template-columns:1fr}.span2{grid-column:auto}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{display:none}.main{margin-left:0;width:100%;padding:16px 12px 82px}.topbar{align-items:flex-start}.topbar h1{font-size:19px}.actions{flex-direction:column;align-items:flex-end}.children,.stats{grid-template-columns:1fr}.week{min-width:720px}.card.span2{overflow:auto}.mobile-nav{display:flex;position:fixed;left:8px;right:8px;bottom:8px;background:#202531;border-radius:15px;padding:6px;z-index:10}.mobile-nav button{flex:1;border:0;background:transparent;color:#c6cbd6;padding:8px 4px;border-radius:9px;font-size:9px;font-weight:700}.mobile-nav button.active{background:#fff;color:#202531}}

.calendar-main-layout{display:grid;grid-template-columns:190px 1fr;gap:14px}
.calendar-filters{padding:14px}
.calendar-filters h3{margin-bottom:10px}
.calendar-filters label{display:flex;align-items:center;gap:7px;padding:6px 2px;font-size:10px}
.calendar-filters input{margin:0}
.cal-dot{width:8px;height:8px;border-radius:3px;display:inline-block}
.family-cal{background:#f4a9d1}.evans-cal{background:#41a6e8}.bni-cal{background:#ef3340}.suss-cal{background:#ff8b16}.cyrus-cal{background:#f2c500}.edustation-cal{background:#173f7a}.travel-cal{background:#2d90e8}.things-cal{background:#b78762}.power-cal{background:#ed3146}.reminder-cal{background:#3f8fdf}.birthday-cal{background:#8b98ad}.holiday-cal{background:#cb72df}
.filter-divider{height:1px;background:var(--line);margin:9px 0}
.month-card{padding:0;overflow:hidden}
.month-toolbar{height:52px;display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--line)}
.month-tabs{display:flex;background:#f5f5f7;padding:3px;border-radius:12px}
.month-tabs button,.month-nav button{border:0;background:transparent;padding:7px 11px;border-radius:9px;font-size:9px}
.month-tabs .active{background:#dddde1}
.month-nav{position:absolute;right:12px;display:flex;align-items:center;gap:4px}
.month-nav .today-btn{background:#f3f3f6}
.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.month-cell{min-height:128px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;overflow:hidden;background:#fff}
.month-cell:nth-child(7n){border-right:0}
.month-cell.outside{background:#fafafa;color:#aeb3bc}
.month-cell.today{box-shadow:inset 0 0 0 2px #ff4747}
.month-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.month-day-head span{font-size:9px;color:#8b919c}
.month-day-head b{font-size:10px}
.month-weekday{background:#fbfbfd;min-height:auto;padding:7px;text-align:center;font-size:9px;color:#6f7581;font-weight:700}
.cal-event{display:flex;gap:4px;align-items:flex-start;margin:2px 0;font-size:8px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-event i{width:3px;min-width:3px;height:11px;border-radius:3px;margin-top:1px}
.cal-event span{overflow:hidden;text-overflow:ellipsis}
.cal-event small{margin-left:auto;color:#8e949f;font-size:7px}
.evans-event i{background:#41a6e8}.cyrus-event i{background:#f2c500}.bni-event i{background:#ef3340}.suss-event i{background:#ff8b16}.family-event i{background:#f4a9d1}.edustation-event i{background:#173f7a}.travel-event i{background:#2d90e8}.things-event i{background:#b78762}.power-event i{background:#ed3146}.holiday-event i{background:#cb72df}
.all-day{background:#eaf4fb;border-radius:3px;padding:2px 4px}
.cyrus-event.all-day{background:#fff5c6}.family-event.all-day{background:#fae5f1}
@media(max-width:980px){.calendar-main-layout{grid-template-columns:1fr}.calendar-filters{display:grid;grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.month-card{overflow:auto}.month-grid{min-width:980px}.calendar-filters{grid-template-columns:repeat(2,1fr)}}

.calendar-source-note{display:block;color:var(--muted);font-size:8px;line-height:1.4;padding:4px 2px}

.workflow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.workflow-card p{font-size:10px;color:var(--muted);line-height:1.45;min-height:44px}.activity-card{margin-top:16px}.activity-log{display:flex;flex-direction:column;gap:8px}.activity-entry{display:grid;grid-template-columns:90px 1fr auto;gap:10px;padding:10px 12px;background:#fafafe;border-radius:12px}.activity-entry time{font-size:8px;color:var(--muted)}.activity-entry strong{font-size:10px}.activity-entry small{display:block;font-size:8px;color:var(--muted)}.activity-tag{font-size:8px;border-radius:999px;padding:4px 7px;background:#f0ecff;color:#654ae0}.workflow-modal textarea{width:100%;min-height:70px;padding:10px;border:1px solid var(--line);border-radius:10px;margin-top:5px;background:#fafafe}.flow-panel{display:none}.flow-panel.active{display:block}.system-toast{position:fixed;right:18px;bottom:18px;background:#202531;color:#fff;padding:11px 14px;border-radius:12px;z-index:30;font-size:10px}@media(max-width:1100px){.workflow-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.workflow-grid{grid-template-columns:1fr}}

.nav{text-decoration:none;display:block}
.mobile-nav a{flex:1;border:0;background:transparent;color:#c6cbd6;padding:8px 4px;border-radius:9px;font-size:9px;font-weight:700;text-align:center;text-decoration:none}
.mobile-nav a.active{background:#fff;color:#202531}

.studyguard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 16px}
.studyguard-link{text-decoration:none;color:inherit;transition:.18s ease}
.studyguard-link:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.studyguard-link p{font-size:9px;color:var(--muted);line-height:1.4}
.subpage-back{margin-bottom:12px}.subpage-back a{text-decoration:none;color:#654ae0;font-size:10px;font-weight:800}
.homework-item,.mistake-item,.pack-item{display:flex;gap:9px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}
.homework-item input,.pack-item input{margin-top:2px}
.homework-item div,.pack-item div{flex:1}.homework-item b,.pack-item b,.mistake-item b{font-size:10px}
.homework-item small,.pack-item small,.mistake-item small{display:block;color:var(--muted);font-size:8px;margin-top:3px}
.urgency{font-size:8px;padding:3px 6px;border-radius:999px}.urgency.overdue{background:#ffe7e2;color:#bd4b36}.urgency.today{background:#fff3ca;color:#8a6b00}.urgency.tomorrow{background:#e8f1ff;color:#3563c9}.urgency.upcoming{background:#e5f7ef;color:#19775a}
.assessment-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.assessment-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px}
.assessment-card h3{margin:4px 0 8px}.assessment-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.assessment-meta div{background:#f8f8fc;border-radius:9px;padding:8px}.assessment-meta small{display:block;font-size:7px;color:var(--muted)}.assessment-meta b{font-size:9px}
.weekly-board{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;overflow:auto}.weekly-day{min-width:150px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px}.weekly-day h3{font-size:11px}.weekly-task{padding:8px;border-radius:9px;background:#f7f6fc;margin-bottom:7px}.weekly-task b{display:block;font-size:9px}.weekly-task small{font-size:7px;color:var(--muted)}
.practice-area{min-height:240px}.question{padding:12px 0;border-bottom:1px solid var(--line)}.question b{display:block;font-size:10px;margin-bottom:8px}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.answer-grid button{border:1px solid var(--line);background:#fafafe;border-radius:9px;padding:8px;font-size:9px;text-align:left}.answer-grid button.correct{background:#e3f7ee;border-color:#9bd8c1}.answer-grid button.wrong{background:#ffe8e2;border-color:#efb3a7}
.schedule-summary{display:flex;align-items:center;gap:14px;margin-bottom:12px}.schedule-summary strong{font:800 19px Manrope}.schedule-summary small{color:var(--muted)}
.schedule-table{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.schedule-row{display:grid;grid-template-columns:80px 1fr 1fr 1fr;padding:10px 12px;border-bottom:1px solid var(--line);font-size:9px}.schedule-row.header{background:#f7f7fb;font-weight:800}
@media(max-width:1100px){.studyguard-grid{grid-template-columns:repeat(2,1fr)}.assessment-board{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.studyguard-grid,.assessment-board{grid-template-columns:1fr}.schedule-row{grid-template-columns:60px 1fr 1fr}.schedule-row span:last-child{display:none}}

.auth-page{min-height:100vh;background:#f6f7fb}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch}.auth-brand{padding:8vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#202531,#3b4661);color:#fff}.auth-brand .logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#7456f6,#ff7f66);display:grid;place-items:center;font:800 24px Manrope;margin-bottom:22px}.auth-brand h1{font:800 clamp(28px,4vw,54px) Manrope;max-width:700px;margin:12px 0}.auth-brand p{max-width:620px;color:#cbd1dc;font-size:13px;line-height:1.7}.auth-card{align-self:center;margin:7vw;max-width:520px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.auth-tabs{display:flex;background:#f4f4f8;padding:4px;border-radius:12px;margin-bottom:18px}.auth-tabs button{flex:1;border:0;background:transparent;padding:9px;border-radius:9px;font-weight:800;font-size:11px}.auth-tabs button.active{background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.06)}.auth-form label{display:block;font-size:9px;font-weight:700;margin-bottom:11px}.auth-form input{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;margin-top:5px}.hidden{display:none!important}.auth-message{min-height:18px;color:#c24435;font-size:9px;margin-top:8px}.cloud-account{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);padding:4px 6px;border-radius:12px}.cloud-account select,.cloud-account button{border:0;background:#f5f5f8;border-radius:8px;padding:7px 8px;font-size:9px}.cloud-account span{font-size:8px;color:var(--muted)}
@media(max-width:760px){.auth-shell{grid-template-columns:1fr}.auth-brand{padding:42px 24px}.auth-card{margin:18px}.cloud-account span{display:none}}
