*{box-sizing:border-box} :root{--ink:#263e36;--muted:#78867f;--green:#315c49;--light:#eaf0e8;--cream:#f6f5f0;--line:#e6e9e2;--orange:#cc794d;--peach:#f5e9dc}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Segoe UI","Microsoft JhengHei",sans-serif;font-size:14px;line-height:1.65}a{color:var(--green);text-decoration:none}a:hover{color:#ab683f}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d5b174;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:.3px;line-height:1.4;margin-bottom:10px;font-weight:650}h2{font-size:18px;line-height:1.6;margin-bottom:12px;font-weight:650}h3{font-size:14px;margin:22px 0 8px}small{font-size:12px}label{display:block;font-size:13px;font-weight:600}input:not([type=checkbox]):not([type=hidden]),select,textarea{border:1px solid #dce1d8;border-radius:8px;background:#fff;color:var(--ink);padding:10px 12px;max-width:100%}input:disabled{background:#f1f2ed;color:#7c857e}textarea{resize:vertical;width:100%}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px}select{min-height:42px}.shell{display:flex;min-height:100vh}.sidebar{overflow-y:auto;width:238px;background:#fffdf9;border-right:1px solid var(--line);padding:30px 20px 0;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:650;color:var(--ink);white-space:nowrap}.brand-icon{font-size:31px;color:var(--orange);width:43px;height:47px;background:#f6eadc;border-radius:14px;display:grid;place-items:center}.brand small{display:block;font-size:10px;letter-spacing:.5px;font-weight:400;margin-top:2px;color:var(--muted)}.nav-caption{font-size:10px;color:#8e9991;letter-spacing:2px;margin:31px 12px 12px}.sidebar nav a{display:flex;gap:13px;align-items:center;border-radius:9px;padding:11px 13px;margin:4px 0;color:#6a7770;font-size:13px}.sidebar nav a>span{font-size:19px;width:22px;text-align:center}.sidebar nav a.active{background:#e8eee4;color:var(--green);font-weight:650}.nav-count{font-size:10px;padding:0 6px;background:#e1b88f;color:#514330;border-radius:6px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:28px}.sidebar-bottom>p{font-size:11px;text-align:center;line-height:1.9;color:#8a988f}.mini-plant{text-align:center;font-size:43px;color:#98a77c;line-height:1}.user{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);margin:25px -20px 0;padding:20px 18px;font-size:12px}.user small{display:block;font-size:10px;color:var(--muted)}.avatar{display:grid;place-items:center;background:#e4e9d9;color:#637a4c;border-radius:50%;width:35px;height:35px;font-size:13px;flex-shrink:0}.logout{border:0;background:transparent;color:var(--muted);font-size:20px;padding:5px}.user form{margin-left:auto}.main{margin-left:238px;width:calc(100% - 238px)}.topbar{height:69px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;gap:14px;background:#fafaf6;font-size:10px;color:#758179;letter-spacing:1.4px}.top-slash{color:#b6c0b5;padding:0 12px}.top-notice{margin-left:auto;letter-spacing:0;font-size:12px}.top-notice b{border-radius:50%;background:var(--orange);color:white;padding:1px 5px;margin-left:5px;font-size:10px}.content{max-width:1440px;margin:auto;padding:30px 38px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-heading>div:first-child{min-width:0}.page-heading form{display:flex;gap:8px;flex-shrink:0}.page-heading form input{width:155px}.eyebrow{display:block;color:#8b9a87;font-size:10px;letter-spacing:2px;margin-bottom:8px;font-weight:600}.muted{color:var(--muted)}.page-heading p{margin-bottom:0;font-size:13px}.small-text{font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 17px;border:1px solid #dce1d5;border-radius:8px;font-size:12px;color:var(--green);background:#fff;white-space:nowrap;font-weight:600}.button:hover{background:#e8eee4;color:var(--green)}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.primary:hover{background:#234837}.button.cream{color:var(--green);background:#f3efe3;border-color:transparent}.button.soft{background:#edf1e8;font-size:11px;padding:9px 12px}.button.small{padding:6px 12px;font-size:11px}.button.danger{background:#fbefe6;color:#a15531;border-color:#edcdb8}.full{width:100%}.hero{background:#325945;border-radius:14px;min-height:237px;padding:27px 32px;color:#f6f5eb;position:relative;overflow:hidden;margin-bottom:22px;display:flex;align-items:center}.hero-label{font-size:10px;letter-spacing:2px;color:#bed0b7}.hero h2{font-size:28px;line-height:1.6;font-weight:500;margin:10px 0}.hero p{color:#c8d8c0;font-size:12px;margin:0 0 17px}.hero-link{color:#dee7d3;font-size:12px;margin-left:19px}.hero-art{position:absolute;right:30px;top:17px;width:280px;height:225px}.art-circle{width:185px;height:185px;background:#60735a;border-radius:50%;position:absolute;left:35px;top:4px}.art-house,.garden-house{width:135px;height:111px;background:#ead8ba;position:absolute;bottom:28px;left:75px;border-radius:6px}.art-house i,.garden-house i{position:absolute;top:-51px;left:-8px;border-left:75px solid transparent;border-right:75px solid transparent;border-bottom:60px solid #bd7950}.art-house b,.garden-house b{position:absolute;width:30px;height:48px;left:25px;bottom:0;background:#476555;border-radius:17px 17px 0 0}.art-house span,.garden-house span{position:absolute;background:#8caa99;width:30px;height:30px;right:22px;top:25px;border:4px solid #fff3df;box-shadow:0 0 0 1px #baa988}.art-flower{position:absolute;font-size:95px;left:0;bottom:-1px;line-height:1;color:#dca571;transform:rotate(-12deg)}.art-leaf{position:absolute;font-size:97px;right:4px;bottom:-12px;color:#9daa73}.art-bubble{position:absolute;right:6px;top:0;border-radius:50%;background:#e1e5c1;padding:19px 17px;font-size:10px;color:var(--green);line-height:1.8;text-align:center;transform:rotate(8deg)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{border:1px solid var(--line);border-radius:11px;background:#fff;padding:19px 20px}.stat-label{font-size:12px;color:#7b877c;display:flex;justify-content:space-between;align-items:center}.stat-label>span{font-size:20px;color:#78966b}.stat-number{font-size:31px;line-height:1.4;color:#334f3e;margin:9px 0 12px;letter-spacing:-1px;font-weight:650;white-space:nowrap}.stat-number small{font-size:11px;letter-spacing:0;color:#869080;margin:0 5px;font-weight:400}.stat>small{font-size:10px;color:#8b9488}.stat a{display:block;margin-top:10px;font-size:11px}.progress{height:5px;border-radius:5px;background:#eef1e9;overflow:hidden;margin-bottom:7px}.progress i{display:block;background:#8aa475;height:100%;border-radius:5px}.stat.peach{background:#f6ebdf;border-color:#eedecb}.stat.peach .stat-label>span{color:#c68b58}.columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:22px;margin-bottom:22px}.card{border-radius:12px;background:#fff;border:1px solid var(--line);padding:22px;min-width:0;margin-bottom:22px}.columns>.card{margin-bottom:0}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.card-title h2{margin:0}.card-title>a{font-size:11px;white-space:nowrap}.tag{display:inline-block;font-size:10px;background:#eaf0e5;color:#5a7951;border-radius:6px;padding:4px 8px;white-space:nowrap}.tag.orange,.status-lesson_review,.status-poster_review,.status-purchase_review,.status-admin_review,.status-director_review,.status-correction{color:#ad713d;background:#faeedc}.status-draft{background:#eeefea;color:#899085}.status-paid,.status-completed{background:#dcebdc;color:#376449}.milestone-grid{display:grid;grid-template-columns:repeat(4,1fr);position:relative;padding:0 0 22px}.milestone{position:relative;text-align:center;font-size:11px}.milestone .day{font-size:25px;color:#657c54;font-weight:650;margin:9px 0}.day small{font-size:9px;margin-left:2px;font-weight:400}.milestone>small{font-size:9px;color:#8e998b}.step-dot{width:8px;height:8px;background:#adc09c;border:2px solid #fff;border-radius:50%;position:absolute;bottom:-16px;left:calc(50% - 4px);z-index:1}.milestone-grid:after{content:"";position:absolute;height:1px;background:#dce5d3;bottom:9px;left:12%;right:12%}.card-divider{border-top:1px solid var(--line);margin:22px 0}.task-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #f0f2eb;color:var(--ink)}.task-row:last-child{border-bottom:0}.task-row>div:not(.date-chip){flex:1;min-width:0}.task-row b{font-size:12px;font-weight:550}.task-row small,.file-row small,.notice-row small{display:block;color:#8b958d;font-size:10px;margin-top:3px}.task-row>span:last-child{font-size:11px;flex-shrink:0}.task-icon{width:34px;height:34px;background:#edf1e7;border-radius:9px;color:#729260;display:grid;place-items:center;font-size:18px;flex-shrink:0}.task-icon.orange{color:#b68052;background:#f8ece0}.deadline-row{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid #eff1ea;align-items:center}.deadline-day{font-size:19px;background:#f1f3ec;width:39px;height:43px;border-radius:8px;display:grid;place-items:center;color:#718462;flex-shrink:0}.deadline-row b{font-size:12px;font-weight:550}.deadline-row small{display:block;font-size:10px;color:#899582;margin-top:3px}.gentle-note{padding:14px 16px;background:#f3f5ee;border:1px solid #e8eddf;border-radius:8px;font-size:11px;color:#7c8b6d;margin:18px 0 0;line-height:1.8}.gentle-note.warning{background:#fcf0e0;border-color:#edd6b8;color:#a15d36}.date-chip{width:42px;height:48px;display:grid;place-content:center;text-align:center;background:#f2f3e8;color:#6b8154;border-radius:9px;font-size:21px;line-height:1.2;flex-shrink:0}.date-chip small{display:block;font-size:9px}.notice-row{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #eef1e9;font-size:12px;color:#536d59}.notice-dot{width:6px;height:6px;background:#d0a06a;border-radius:50%;margin-top:9px;flex-shrink:0}.empty{text-align:center;color:#85907f;padding:42px 15px;font-size:13px}.empty a{display:block;margin-top:12px}.empty.compact{padding:24px 0;font-size:12px}.preview-note{font-size:11px;color:#8b795c;background:#f3eedc;border:1px solid #e7e0ca;padding:8px 13px;border-radius:7px;margin-bottom:19px}.message{padding:13px 16px;margin:16px 0;border-radius:8px;background:#e8f0e4;color:#426a43}.message.error{background:#f9e8dd;color:#a55734}.filters{display:flex;gap:10px;align-items:center;margin:18px 0 22px;flex-wrap:wrap}.filters input[name=q]{flex:1;min-width:170px}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.activity-card{border:1px solid var(--line);background:white;border-radius:12px;overflow:hidden;color:var(--ink);transition:transform .2s}.activity-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #263e360a}.activity-cover{height:134px;background:#e5ecdc;position:relative;overflow:hidden;padding:15px 20px;color:#687c56}.activity-cover>span{position:relative;z-index:1;font-size:11px;letter-spacing:2px}.activity-cover b{position:absolute;right:24px;top:-14px;font-size:140px;font-weight:400;color:#a2b88a;line-height:1.3;transform:rotate(-15deg)}.activity-cover small{position:absolute;left:21px;bottom:15px;font-size:25px;font-weight:300;letter-spacing:2px}.activity-cover.cover-peach{background:#f1e3d1;color:#9b7a58}.cover-peach b{color:#deb589}.activity-body{padding:20px}.activity-body h2{font-size:17px;margin:12px 0 10px}.activity-body p{font-size:12px;color:var(--muted)}.activity-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;font-size:10px;color:#7f8f78}.wide{grid-column:1/-1}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:normal;font-size:12px}th{text-align:left;color:#84907f;font-size:10px;font-weight:500;padding:12px 10px;background:#f7f8f4;border-bottom:1px solid var(--line)}td{padding:17px 10px;border-bottom:1px solid #edf0e8;vertical-align:middle}td small{display:block;color:#8c958a;font-size:10px;margin-top:4px}.strong{font-weight:600}.money{white-space:nowrap;font-variant-numeric:tabular-nums}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.summary{border:1px solid var(--line);border-radius:10px;background:#fff;padding:20px}.summary.green{background:#e8eee2}.summary.peach{background:#f3e8d9}.summary small{color:#7c8870}.summary b{font-size:30px;display:block;line-height:1.7}.summary b span{font-size:13px;font-weight:400}.summary p{font-size:11px;color:#8b947e;margin:0}.back-link{display:inline-block;margin:0 0 18px;font-size:12px}.form-card{max-width:780px}.editor-form{display:grid;gap:12px}.editor-form input:not([type=checkbox]),.editor-form select{width:100%}.field{margin:5px 0}.field label{margin-bottom:7px}.field input,.field select{width:100%}.required{color:#c38958;margin-left:5px}.help{color:#8a9582;display:block;font-size:11px;font-weight:400;line-height:1.6;margin-top:5px}.errorlist{color:#b6613b;font-size:12px;padding-left:18px;list-style:disc}.form-actions{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:flex-end;gap:10px;margin-top:15px}.heading-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.detail-columns{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:10px 0 24px}.facts div small{display:block;color:#8b9681;font-size:11px;margin-bottom:5px}.facts b{font-size:13px;font-weight:600}.facts .big-money{font-size:25px}.facts.single{grid-template-columns:1fr;gap:17px}.prose{color:#5c7261;font-size:13px;line-height:1.9}.prose p:last-child{margin-bottom:0}.file-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}.file-row>div{flex:1}.upload-form{border:1px dashed #cfdbc4;border-radius:9px;background:#f7f9f2;padding:17px;display:grid;gap:10px;margin-top:20px}.timeline{border-left:1px solid #dce5d4;margin-left:5px;padding-left:22px}.timeline article{position:relative;margin-bottom:26px}.timeline article:last-child{margin:0}.timeline-dot{position:absolute;width:8px;height:8px;background:#9bad85;border-radius:50%;left:-27px;top:8px;border:2px solid #fff}.timeline-header{display:flex;justify-content:space-between;gap:10px;font-size:12px}.timeline-header small{color:#9aa18f;font-size:10px}.timeline p{font-size:10px;color:#8a977f;margin:5px 0}.history-comment{background:#f5f6f1;padding:10px 13px;border-radius:6px;font-size:12px;color:#6c795f}.history-comment p{font-size:12px;color:#6c795f;margin:0}.action-form{display:grid;gap:9px;padding:3px 0 20px;margin-bottom:16px;border-bottom:1px solid var(--line)}.action-form:last-child{border-bottom:0;margin:0;padding-bottom:0}.action-form h3{margin:0 0 5px}.action-form input{width:100%}.deadline-box{background:#ebf0e3;border-radius:8px;padding:16px;margin-bottom:20px}.deadline-box small{font-size:11px;color:#7e9070}.deadline-box b{display:block;font-size:24px;color:#5a7347}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.person-card{text-align:center}.avatar.big{width:54px;height:54px;font-size:20px;margin:0 auto 14px}.person-card h2{margin-bottom:8px}.person-card p{font-size:12px;color:#829075;margin:17px 0 10px}.person-card small{display:block;color:var(--muted)}.person-card a{display:block;font-size:11px;margin-top:20px}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.kpi-number{font-size:50px;color:#577347;margin:22px 0}.kpi-number small{font-size:13px;margin-left:7px;font-weight:400}.progress.large{height:8px}.weekdays{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.weekdays label{font-size:12px;display:flex;align-items:center;gap:5px}.weekdays~.gentle-note{margin-bottom:22px}.notification-item{display:flex;gap:14px;align-items:flex-start;padding:20px 6px;border-bottom:1px solid #eef0e8}.notification-item>a{flex:1;font-size:13px;font-weight:400}.notification-item b{font-weight:500}.notification-item small{display:block;color:#89967e;font-size:11px;margin-top:5px}.notification-item.unread{background:#fafbf7}.notification-item:not(.unread) .notice-dot{background:#d3dacb}.pagination{display:flex;justify-content:center;gap:20px;font-size:12px;padding-top:20px}.snapshot-value{white-space:pre-wrap;overflow-wrap:anywhere;max-width:650px}.account-row{display:flex;gap:8px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px;flex-wrap:wrap}.account-row>div{min-width:105px;flex:1}.account-row small{display:block;color:var(--muted)}.account-row select{padding:7px;font-size:11px;min-height:35px}.check-label{display:flex;gap:4px;align-items:center;font-size:11px}footer{display:flex;justify-content:space-between;color:#9aa18f;font-size:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:35px}.mobile-menu{display:none}.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{position:relative;padding:55px 13%;background:#315642;color:#eef0de;overflow:hidden;min-height:760px}.wordmark{font-size:20px;letter-spacing:2px;margin-bottom:100px}.login-story .eyebrow{color:#b0c19c}.login-story h1{font-size:37px;font-weight:500;line-height:1.65;margin:18px 0}.login-story p{font-size:13px;color:#bdcdae;line-height:2}.login-story>small{position:absolute;bottom:38px;left:13%;font-size:11px;letter-spacing:2px;color:#b1c29f}.login-garden{position:absolute;width:420px;height:240px;bottom:55px;right:-20px}.sun{position:absolute;width:72px;height:72px;background:#e4c695;border-radius:50%;right:62px;top:0}.hill{position:absolute;width:420px;height:160px;background:#6a7f59;border-radius:50% 50% 0 0;bottom:-20px;right:0;transform:rotate(-10deg)}.hill.two{width:370px;background:#849067;bottom:-40px;left:0;transform:rotate(16deg)}.garden-house{left:154px;bottom:36px;transform:scale(.8)}.flower{position:absolute;z-index:2;font-size:94px;line-height:1}.f1{left:69px;bottom:6px;color:#d89e6a}.f2{right:7px;bottom:1px;color:#c2cb98}.login-panel{display:grid;place-items:center;background:#f7f6f0;padding:50px}.login-form{width:350px;max-width:100%}.login-form h2{font-size:28px;margin-bottom:8px}.login-form p{font-size:13px}.login-form form:not(.preview-login form){display:grid;gap:12px;margin-top:30px}.login-form input{width:100%}.login-form .button.primary{margin-top:10px;justify-content:space-between;padding:13px 17px}.login-foot{display:block;color:#9aa18f;font-size:11px;margin-top:27px;line-height:1.8}.preview-login{border-top:1px solid var(--line);margin-top:26px;padding-top:15px}.preview-login p{font-size:11px;color:#8e987f}.preview-login form{display:flex;gap:8px;flex-wrap:wrap}.standalone{margin:100px auto}
@media(min-width:1600px){.hero-art{right:85px}}@media(max-width:1200px){.content{padding:26px}.sidebar{width:210px;padding-left:16px;padding-right:16px}.main{margin-left:210px;width:calc(100% - 210px)}.brand{font-size:17px}.user{margin-left:-16px;margin-right:-16px}.hero-art{transform:scale(.86);right:0;transform-origin:right bottom}.hero h2{font-size:26px}.stat{padding:16px}.stat-number{font-size:26px}.stat-grid{gap:12px}.activity-grid{grid-template-columns:repeat(2,1fr)}h1{font-size:24px}.columns{gap:16px}.card{padding:19px}.page-heading{align-items:flex-start}.login-story{padding-left:10%;padding-right:10%}.login-story h1{font-size:31px}}
@media(max-width:950px){.columns{grid-template-columns:1fr}.detail-columns{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-number{font-size:32px}.page-heading{flex-wrap:wrap}.people-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:1fr}.hero-art{opacity:.65}.hero>div:first-child{position:relative;z-index:1}.hero h2{font-size:25px}.summary-grid{grid-template-columns:1fr}.summary{padding:16px}.summary b{font-size:24px}.login-panel{padding:32px}.login-story h1{font-size:28px}.login-garden{transform:scale(.8);transform-origin:right bottom;right:-65px}}
@media(max-width:680px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:236px;box-shadow:12px 0 40px #20342622}.menu-open .sidebar{transform:translateX(0)}.main{margin:0;width:100%}.topbar{padding:0 18px;height:58px;font-size:8px;letter-spacing:.8px}.topbar>span{font-size:8px}.top-slash{display:none}.mobile-menu{display:block;border:0;background:transparent;font-size:19px;color:var(--green);padding:5px}.content{padding:20px 16px}.preview-note{font-size:10px}.page-heading{gap:16px;margin-bottom:19px}h1{font-size:23px}.page-heading p{font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.5px}.hero{padding:23px;min-height:224px}.hero h2{font-size:24px}.hero-art{transform:scale(.62);right:-10px;opacity:.3}.hero p{max-width:220px;font-size:11px}.hero-link{font-size:10px;margin-left:10px}.hero .button{font-size:11px;padding:9px 13px}.stat-grid{gap:11px}.stat{padding:14px}.stat-label{font-size:11px}.stat-number{font-size:26px}.stat-number small{font-size:10px}.stat>small{font-size:9px}.card{padding:18px}.card-title h2{font-size:16px}.card-title>a{font-size:10px}.task-row{gap:9px}.task-row .tag{max-width:120px;overflow:hidden;text-overflow:ellipsis}.task-row b{font-size:11px}.filters{gap:8px}.filters input[type=month]{width:155px}.filters select{width:100%}.filters input[name=q]{min-width:120px}.activity-grid{grid-template-columns:1fr}.activity-cover{height:135px}.people-grid{grid-template-columns:1fr}.heading-actions{flex-wrap:wrap;flex-shrink:1}.facts{gap:16px}.timeline-header{flex-wrap:wrap}.summary-grid{gap:10px}footer{font-size:9px;gap:14px}.login-shell{grid-template-columns:1fr}.login-story{min-height:230px;padding:24px}.wordmark{font-size:16px;margin-bottom:21px}.login-story h1{font-size:24px;line-height:1.5;margin:10px 0}.login-story p,.login-story>small{display:none}.login-garden{transform:scale(.55);bottom:-27px;right:-50px;opacity:.75}.login-story .eyebrow,.login-story h1{position:relative;z-index:3}.login-panel{padding:35px 27px}.login-form{width:100%}.login-form h2{font-size:26px}.notification-item{gap:10px}.account-row{gap:7px}.top-notice{font-size:10px}}

/* Official unchanged RGB logos and staff account self service. */
.brand{display:block;white-space:normal}.brand-logo{display:block;width:100%;max-width:198px;height:auto;object-fit:contain}.wordmark{background:#fffdf9;border-radius:12px;padding:16px 20px;max-width:330px;margin-bottom:60px}.wordmark img{display:block;width:100%;height:auto}.mobile-brand{display:none}.signup-prompt{margin-top:20px;border:1px solid #dce5d3;border-radius:8px;padding:13px 15px;background:#eef3e8;color:#7a8972;font-size:12px}.signup-prompt a{font-weight:650;margin-left:9px}.registration-shell{min-height:100vh;padding:35px 20px 50px;background:radial-gradient(ellipse at top,#e9efe3,transparent 65%)}.registration-brand{display:block;max-width:235px;margin:0 auto 24px}.registration-brand img{width:100%;height:auto;display:block}.registration-card{max-width:520px;margin:auto;background:#fffdf9;border:1px solid var(--line);border-radius:15px;padding:30px;box-shadow:0 12px 45px #29432c08}.registration-card h1{font-size:26px}.registration-card>p{font-size:13px}.registration-card .gentle-note{margin:6px 0 7px}.registration-card>.button{margin-top:22px}.registration-foot{color:var(--muted);font-size:12px;text-align:center;margin:22px 0 0}.registration-review{padding:17px 0;border-top:1px solid var(--line)}.registration-review h3{font-size:15px;margin:0}.registration-review p{font-size:12px;margin:5px 0 16px}.approval-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.approval-row input:not([type=hidden]){flex:1;min-width:160px}.reject-details{margin-top:14px;color:#8b826c;font-size:12px}.reject-details summary{cursor:pointer}.reject-details form{max-width:520px;margin-top:12px}.help ul{padding-left:18px;margin:5px 0}.help li{margin:3px 0}
@media(max-width:680px){.mobile-brand{display:block;flex-shrink:0}.mobile-brand img{display:block;width:34px;height:34px;object-fit:contain}.topbar{gap:8px}.topbar>span{font-size:7px;letter-spacing:.25px}.wordmark{width:185px;padding:10px 13px;margin-bottom:20px}.login-story{min-height:280px}.login-story h1{font-size:23px}.registration-shell{padding:25px 16px 35px}.registration-brand{max-width:200px}.registration-card{padding:23px}.registration-card h1{font-size:23px}.approval-row{align-items:stretch}.approval-row>label{width:100%}.approval-row select{flex:1}.approval-row input:not([type=hidden]){min-width:100%}.approval-row .button{width:100%}}

/* Visitor registration. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}.visit-lookup{display:flex;gap:30px;align-items:center;justify-content:space-between}.visit-lookup h2{margin:0}.visit-lookup p{margin-bottom:0}.visit-lookup form{display:flex;gap:10px;flex:1;max-width:480px}.visit-lookup input{flex:1;min-width:0}.visit-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.visit-shortcuts a{display:flex;justify-content:space-between;gap:12px;padding:18px;background:#eef2e7;border-radius:10px;font-size:13px;color:#526b43}.visit-stats{margin:22px 0}.visit-list-row{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--green)}.visit-list-row:last-child{border:0}.visit-list-row>div:first-child{flex:1}.visit-list-row b{font-size:14px}.visit-list-row small{display:block;color:var(--muted);font-size:11px;margin-top:5px;overflow-wrap:anywhere}.visit-row-count{text-align:right;font-size:12px}.is-void{opacity:.62}.lookup-inline{display:flex;align-items:end;gap:15px}.lookup-inline .field{flex:1;max-width:430px}.visit-card-actions{display:flex;flex-direction:column;align-items:start;gap:17px;margin-top:24px}.visit-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.visit-field-grid input,.visit-field-grid select{width:100%}.guardian-summary{display:flex;align-items:center;gap:15px;padding:10px 0 20px}.guardian-summary>div{flex:1}.guardian-summary small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.guardian-summary a{font-size:12px}.visit-date-field{max-width:300px;margin-top:18px}.visit-family-form .card{margin-bottom:22px}.visit-family-form .field{margin-bottom:16px}.visit-family-form [name=second_kind]{max-width:440px}.visit-child-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 30px}.visit-child-choice{display:flex;align-items:center;gap:13px;border:1px solid var(--line);padding:18px;border-radius:10px;cursor:pointer;background:#fbfcf8}.visit-child-choice:has(input:checked){background:#edf3e7;border-color:#93aa7e}.visit-child-choice input{width:19px;height:19px;accent-color:var(--green)}.visit-child-choice b{font-size:14px}.visit-child-choice small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.new-children-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:18px 0}.visit-child-row{background:#f7f9f3;border:1px solid var(--line);padding:22px;border-radius:10px;margin:16px 0}.child-delete-input{display:none}.remove-child{background:none;border:0;color:#a77852;font-size:12px;padding:0;cursor:pointer}.visit-submit{display:flex;align-items:center;gap:20px;justify-content:space-between}.visit-submit b{display:block;font-size:16px}.visit-submit small{display:block;color:var(--muted);font-size:11px;margin-top:8px}.visit-person-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.visit-person{background:#f5f8f0;border:1px solid var(--line);border-radius:10px;padding:20px}.visit-person h3{font-size:17px;margin:8px 0 14px}.visit-person p{font-size:12px}.visit-person small{display:block;color:var(--muted);font-size:11px}.visit-person a{display:block;font-size:11px;margin-top:20px}.group-count-table{min-width:520px}.group-count-table th:first-child{min-width:100px}.group-count-table input{max-width:95px;min-width:60px;width:100%;padding:9px}.visit-report-filter{display:flex;align-items:end;gap:15px;flex-wrap:wrap}.visit-report-filter .field{flex:1;min-width:160px}.table-total{font-weight:650;background:#f4f7ed}
@media(max-width:950px){.visit-lookup{align-items:stretch;flex-direction:column;gap:18px}.visit-lookup form{max-width:none}.visit-person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.visit-lookup form{flex-direction:column}.visit-shortcuts{grid-template-columns:1fr;gap:8px}.visit-shortcuts a{padding:14px}.visit-list-row{align-items:start;flex-wrap:wrap;gap:8px}.visit-list-row>div:first-child{flex-basis:100%}.visit-row-count{text-align:left}.visit-list-row>span:last-child{margin-left:auto}.lookup-inline{flex-direction:column;align-items:stretch}.lookup-inline .field{max-width:none}.visit-field-grid,.visit-child-choices,.visit-person-grid{grid-template-columns:1fr}.guardian-summary{flex-wrap:wrap}.guardian-summary a{width:100%;margin-left:47px}.visit-child-row{padding:17px}.visit-submit{flex-direction:column;align-items:stretch}.visit-submit b{font-size:15px}.visit-submit .button{width:100%;justify-content:center}.new-children-heading{align-items:start;gap:10px}.new-children-heading h3{font-size:13px}.visit-report-filter{align-items:stretch;flex-direction:column}.visit-report-filter .button{width:100%}}

@media(max-width:680px){.group-count-table{min-width:0;width:100%;display:block}.group-count-table thead{display:none}.group-count-table tbody{display:block}.group-count-table tr{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;padding:18px;background:#f7f9f3;border:1px solid var(--line);border-radius:10px}.group-count-table th{grid-column:1/-1;padding:0;border:0;font-size:15px}.group-count-table td{display:block;border:0;padding:0}.group-count-table td:before{content:attr(data-label);display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.group-count-table input{max-width:none;min-width:0;width:100%}}

.visit-child-candidate{border:1px solid var(--line);border-radius:8px;background:#fff;padding:15px;margin:12px 0;overflow-wrap:anywhere}.visit-child-candidate p{line-height:1.8;color:var(--muted);margin:8px 0 12px}

.school-warning{border:1px solid #e6ab68;background:#fff5e9;color:#783d14;border-radius:18px;padding:22px;margin:20px 0;white-space:pre-line}.school-warning h2{margin:0 0 12px}.school-warning[hidden]{display:none}.school-warning-text{color:#a14918}

/* Three-level activity planning. */
.activity-cover>span{max-width:calc(100% - 36px);white-space:normal;overflow-wrap:anywhere}.activity-cover{min-height:160px;height:auto;padding-top:18px}.editor-form input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--green)}.facts b{overflow-wrap:anywhere}.filters input[type=number]{width:125px}
