:global(html){scroll-behavior:smooth}:global(body){margin:0;font-family:Inter,Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(34,197,94,.1),transparent 30%),linear-gradient(180deg,#f8fbff,#fff);color:#0f172a}*{box-sizing:border-box;margin-block-start:0;margin-block-end:0}body{margin:0;padding:0}.app-container{display:flex;min-height:100dvh;background-color:#f8fafc}.app-container .hide-sidebar{display:block}.app-container .hide-sidebar .main-content{padding:0;max-width:100%;margin:0;width:100vw;min-height:100vh}.main-content.no-scroll{height:100dvh;overflow:hidden}.mobile-header{display:none;position:fixed;top:0;width:100%;height:60px;background:#0f172a;color:#fff;padding:0 20px;z-index:1000;align-items:center;justify-content:space-between}.mobile-header .logo{font-weight:700;font-size:1.2rem}.mobile-header .logo .sub-tag{font-size:.8rem;color:#94a3b8}.mobile-header .hamburger{background:none;border:none;cursor:pointer;width:30px;height:20px;position:relative;padding:0;display:block}.mobile-header .hamburger span,.mobile-header .hamburger span:before,.mobile-header .hamburger span:after{content:"";position:absolute;left:0;width:100%;height:2px;background:#fff;transition:.3s}.mobile-header .hamburger span{top:50%;transform:translateY(-50%)}.mobile-header .hamburger span.open{background:transparent}.mobile-header .hamburger span:before{top:-9px}.mobile-header .hamburger span:after{top:9px}.mobile-header .hamburger span.open:before{transform:rotate(45deg);top:0}.mobile-header .hamburger span.open:after{transform:rotate(-45deg);top:0}.sidebar{width:240px;min-width:240px;background:#0f172a;color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:1001;transition:transform .3s ease}.sidebar .sidebar-header{padding:32px 24px}.sidebar .sidebar-header .logo{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;line-height:1em}.sidebar .sidebar-header .logo .sub-tag{font-size:.8rem;color:#94a3b8}.sidebar .sidebar-header .logo span{color:#fff}.sidebar .mode-switcher{margin:0 20px 24px;background:#ffffff0d;padding:4px;border-radius:8px;display:flex}.sidebar .mode-switcher button{flex:1;padding:8px;border:none;background:none;color:#94a3b8;font-size:.8rem;font-weight:600;border-radius:6px;cursor:pointer}.sidebar .mode-switcher button.active{background:#00b4d833;color:#00b4d8}.sidebar .nav-menu{flex:1;padding:0 12px}.sidebar .nav-menu .nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#94a3b8;text-decoration:none;border-radius:8px;font-size:.95rem;margin-bottom:4px;transition:all .2s}.sidebar .nav-menu .nav-item .icon-wrapper{width:20px;height:20px}.sidebar .nav-menu .nav-item .icon-wrapper svg{width:100%;height:100%}.sidebar .nav-menu .nav-item:hover{background:#ffffff0d;color:#fff}.sidebar .nav-menu .nav-item.active{background:#00b4d8;color:#fff;font-weight:600}.sidebar .sidebar-footer{padding:24px;border-top:1px solid rgba(255,255,255,.05)}.sidebar .sidebar-footer .user-info{display:flex;align-items:center;gap:12px;margin-bottom:16px}.sidebar .sidebar-footer .user-info .avatar{width:36px;height:36px;background:#00b4d8;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}.sidebar .sidebar-footer .user-info .details{display:flex;flex-direction:column}.sidebar .sidebar-footer .user-info .details .name{font-size:.9rem;font-weight:600}.sidebar .sidebar-footer .user-info .details .role{font-size:.75rem;color:#94a3b8}.sidebar .sidebar-footer .btn-logout{width:100%;padding:8px;background:transparent;border:1px solid rgba(148,163,184,.3);color:#94a3b8;border-radius:6px;cursor:pointer;font-size:.8rem}.sidebar .sidebar-footer .btn-logout:hover{border-color:#fff;color:#fff}body{margin:0;padding:0;color:#333;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif}.mobile-header{display:none;position:fixed;top:0;width:100%;height:56px;background:#0f172a;color:#fff;padding:0 16px;z-index:1000;align-items:center;justify-content:space-between}.mobile-header .logo{font-weight:700;font-size:1.1rem}.mobile-header .logo span{color:#fff}.sidebar{width:240px;background:#0f172a;color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:1001;transition:transform .3s ease}.sidebar .sidebar-header{padding:24px 20px}.sidebar .sidebar-header .logo{font-size:1.25rem;font-weight:800;line-height:1.2}.sidebar .sidebar-header .logo .sub-tag{font-size:.75rem;color:#94a3b8;display:block}.sidebar .mode-switcher{margin:0 16px 16px;background:#ffffff14;padding:3px;border-radius:6px}.sidebar .mode-switcher button{padding:6px;font-size:.75rem}.sidebar .mode-switcher button.active{background:#00b4d840}.sidebar .nav-menu{padding:0 8px}.sidebar .nav-menu .nav-item{gap:10px;padding:10px 16px;font-size:.9rem;margin-bottom:2px}.sidebar .sidebar-footer{padding:16px}.sidebar .sidebar-footer .user-info{margin-bottom:12px}.main-content{flex:1;overflow-x:hidden;max-width:100dvw;margin:0 auto}@media (max-width: 1024px){.mobile-header{display:flex}.sidebar{position:fixed;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{padding:56px 0 0;width:100%}.main-content.no-padding{padding:0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000}}
