/* Rakuos for Exi Demo - custom styles */
* { -webkit-tap-highlight-color: transparent; }
body { margin: 0; }

.sidebar-link {
  display: flex; align-items: center; gap: .75rem;
  padding: .6rem .85rem; border-radius: .6rem; font-size: .9rem;
  color: #475569; transition: all .15s; cursor: pointer; text-decoration: none;
}
.sidebar-link:hover { background: #fff7ed; color: #ea580c; }
.sidebar-link.active { background: #f97316; color: #fff; font-weight: 600; }
.dark .sidebar-link { color: #cbd5e1; }
.dark .sidebar-link:hover { background: #334155; color: #fdba74; }
.dark .sidebar-link.active { background: #ea580c; color: #fff; }

.card { background: #fff; border-radius: 1rem; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.dark .card { background: #1e293b; }

.fade-in { animation: fadeIn .25s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

table th { font-weight: 600; }
.badge { display:inline-block; padding:.15rem .55rem; border-radius:9999px; font-size:.72rem; font-weight:600; }

/* scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.dark ::-webkit-scrollbar-thumb { background: #475569; }

.spinner { border:3px solid #fed7aa; border-top-color:#ea580c; border-radius:50%; width:28px; height:28px; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* モバイル最適化 */
@media (max-width: 640px) {
  table { min-width: 100%; }
  table th, table td { white-space: nowrap; }
  .sidebar-link { padding: .7rem .85rem; } /* タップしやすく */
}
/* iOS 入力ズーム防止: フォントサイズ16px以上 */
@media (max-width: 768px) {
  input, select, textarea { font-size: 16px !important; }
}
/* ドロワーのスムーズな表示 */
aside { will-change: transform; }
