@import "https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700;800&family=Zen+Maru+Gothic:wght@500;700;900&display=swap";@import "https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700;900&display=swap";:root{--bg:#f3ead9;--panel:#fbf6ec;--panel2:#f6efe1;--line:#e4d6bd;--ink:#4a3f2e;--muted:#9b8b6e;--accent:#e8973a;--accent-soft:#fbe6cb;--child:#7fb069;--staff:#5b8fb9;--danger:#d2603a;--font:"M PLUS Rounded 1c",sans-serif;--display:"Zen Maru Gothic",sans-serif;--radius:16px;--shadow:0 4px 14px #4a3f2e1a}html,body,#root{height:100%;font-family:var(--font);color:var(--ink)}.shell{background:var(--bg);height:100vh;display:flex}.shell-fullscreen{flex-direction:column;height:100vh;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:220px;display:flex}.sb-header{border-bottom:1px solid var(--line);padding:16px 14px 12px}.sb-logo{cursor:pointer;align-items:center;gap:10px;display:flex}.sb-logo-icon{font-size:28px;line-height:1}.sb-logo-title{font-family:var(--display);color:var(--ink);font-size:18px;font-weight:900;line-height:1.1}.sb-logo-sub{color:var(--muted);margin-top:1px;font-size:11px;font-weight:600}.sb-nav{flex:1;padding:10px 0;overflow-y:auto}.sb-section-label{color:var(--muted);letter-spacing:.5px;padding:8px 16px 4px;font-size:11px;font-weight:800}.sb-btn{width:100%;font-family:var(--font);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:9px;padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .12s;display:flex}.sb-btn:hover{background:var(--accent-soft)}.sb-btn-active{border-right:3px solid var(--accent);background:#fff;font-weight:700}.sb-icon{flex-shrink:0;font-size:17px;line-height:1}.sb-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sb-ext{color:var(--muted);flex-shrink:0;font-size:11px}.sb-divider{background:var(--line);height:1px;margin:8px 14px}.sb-footer{border-top:1px solid var(--line);padding:6px 0}.sb-foot-btn{width:100%;font-family:var(--font);color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:600;transition:background .12s;display:flex}.sb-foot-btn:hover{background:var(--panel2)}.sb-foot-btn svg{flex-shrink:0}.sb-foot-danger:hover{color:var(--danger)}.main-content{flex:1;min-width:0;overflow-y:auto}.main-document{background:var(--bg)}.main-document>*{max-width:100%;margin:0}.dash-header{padding:28px 28px 0}.dash-title{font-family:var(--display);margin-bottom:4px;font-size:22px;font-weight:900}.dash-sub{color:var(--muted);font-size:13px;font-weight:600}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;padding:20px 28px;display:grid}.dash-card{border:1.5px solid var(--line);border-radius:var(--radius);text-align:center;cursor:pointer;color:inherit;background:#fff;padding:20px 16px;text-decoration:none;transition:all .15s;display:block}.dash-card:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-3px)}.dash-card-icon{margin-bottom:10px;font-size:34px}.dash-card-name{font-size:15px;font-weight:700;line-height:1.3}.dash-card-ext{color:var(--staff);background:#dce9f4;border-radius:6px;margin-top:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.placeholder-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:60vh;padding:40px;display:flex}.placeholder-icon{margin-bottom:16px;font-size:56px}.placeholder-title{font-family:var(--display);margin-bottom:8px;font-size:22px;font-weight:900}.placeholder-desc{color:var(--muted);font-size:14px;font-weight:600;line-height:1.8}@media (width<=768px){.sidebar{width:180px}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));padding:16px}}.main-content iframe{width:100%;height:100%;display:block}:root{--font:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", system-ui, sans-serif;--bg:#f8f4ee;--panel:#fff;--ink:#3a3027;--muted:#9c8e7c;--line:#ebe1d2;--accent:#f2683c;--accent2:#2bb673;--accent3:#3e8ede}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
