/* Garden console: restrained colors, readable data, mobile navigation. */
:root{--primary:#28654f;--primary-hover:#1d503d;--primary-soft:#e7f0e8;--accent:#946344;--accent-soft:#f4e9de;--bg:#f5f7f4;--surface-alt:#eef3ed;--title:#263e36;--sub:#65776b;--line:#dde6dc;--radius:20px;--sidebar-w:244px;--topbar-h:78px;--shadow:0 10px 32px #28433306}
body{font-size:14px;letter-spacing:.1px}.sidebar{background:#203f34;color:#e5eee6;border-right:0}.sidebar-brand{border-color:#ffffff15;padding-top:25px;padding-bottom:25px}.sidebar-name,.sidebar-user-name{color:#f1f5ef}.sidebar-sub,.sidebar-user-role,.nav-group-label{color:#c1d1c4}.sidebar-logo,.sidebar-avatar{background:#ffffff18;color:#fff}.nav-item{margin:5px 12px;border-radius:11px;color:#d1dfd2;padding:12px 16px}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff16}.nav-item.active::before{display:none}.sidebar-footer{border-color:#ffffff15}.topbar{background:#f5f7f4f5;border-color:var(--line);gap:12px}.topbar-title{font-weight:600;letter-spacing:-.5px}.topbar-desc{font-size:11px}.content{max-width:1600px;padding:32px}.card,.stat-card{box-shadow:var(--shadow);border-color:var(--line)}.stat-card{padding:24px}.stat-value{font-family:Georgia,"PingFang SC",serif;font-weight:500;font-size:34px}.card-title{font-weight:600}.btn{border-radius:11px;min-height:38px}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-outline:hover{background:var(--primary-soft)}.input,.select{border-radius:11px}.filters{border:1px solid var(--line);background:var(--surface)}th{background:var(--surface-alt)}td{vertical-align:middle}.table-wrap{overflow-x:auto}.login-wrap{background:radial-gradient(ellipse at 15% 20%,#dde9dd 0,transparent 55%),var(--bg)}.login-card{border-radius:28px;border:1px solid var(--line);padding:44px;box-shadow:0 20px 80px #203f340c}.login-logo{border-radius:18px;background:var(--primary)}.login-title{font-weight:600}.learner-link{font-size:12px;display:block;text-align:center;margin-top:12px;color:var(--primary)}.topbar .learner-link{margin:0}.assistant-hero{background:linear-gradient(120deg,#e8eee1,#edf3ec 60%,#f2eee5);border:1px solid var(--line);border-radius:24px;padding:36px;margin-bottom:24px}.assistant-kicker{font-size:10px;letter-spacing:2.5px;color:var(--primary)}.assistant-hero h2{font-size:28px;font-weight:500;letter-spacing:-.8px;margin:15px 0 12px}.assistant-hero p{color:var(--sub);line-height:1.9}.assistant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.assistant-task{padding:28px;display:flex;flex-direction:column;align-items:flex-start;margin:0}.assistant-number{color:var(--primary);font-family:Georgia,serif;font-size:30px;margin-bottom:20px}.assistant-task h3{font-size:17px;font-weight:600;margin-bottom:12px}.assistant-task p{font-size:13px;line-height:1.9;color:var(--sub);flex:1;margin-bottom:22px}.assistant-footnote{font-size:11px;color:var(--sub);margin-top:22px}:focus-visible{outline:3px solid #b58a5e;outline-offset:3px}.topbar-right button[aria-label="展开或收起导航"]{display:none}
@media(max-width:1150px){.assistant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.sidebar.mobile-open{transform:translateX(0);box-shadow:20px 0 80px #122a3450}.topbar-right button[aria-label="展开或收起导航"]{display:block}.sidebar.mobile-open{top:78px;height:calc(100vh - 78px)}.content{padding:22px 16px 40px}.topbar{position:sticky;top:0;z-index:100}.topbar-desc{display:none}.assistant-hero{padding:26px}.assistant-hero h2{font-size:24px}}
@media(max-width:600px){.assistant-grid{grid-template-columns:1fr}.assistant-task{padding:24px}.topbar .learner-link{display:none}.login-card{padding:28px;width:calc(100vw - 32px)}.topbar-title{font-size:17px}.env-badge{font-size:10px}.stat-value{font-size:29px}.detail-grid{grid-template-columns:1fr}.modal{max-width:calc(100vw - 24px)}.filters{gap:10px}.assistant-hero h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.menu-backdrop[hidden]{display:none}.menu-backdrop{position:fixed;inset:78px 0 0;z-index:29;border:0;border-radius:0;background:rgba(14,33,37,.34);backdrop-filter:blur(3px);cursor:pointer;width:100%;height:calc(100dvh - 78px)}
@media(max-width:960px){body.menu-open{overflow:hidden}.sidebar.mobile-open{width:min(78vw,300px);height:calc(100dvh - 78px)}.sidebar-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}}
@media(min-width:961px){.menu-backdrop{display:none}}
