* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      -webkit-tap-highlight-color: transparent
    }

    html,
    body {
      height: 100%;
      font-family: system-ui;
      background: var(--bg);
      
    }

    .toolbar {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-bottom: 10px;
    }

    button {
      padding: 8px 12px;
      border: 1px solid #ddd;
      border-radius: 6px;
      background: var(--bg);
      cursor: pointer;
    }

    button:hover {
      background: var(--bg);
    }

    .info {
      background: var(--bg);
      padding: 8px 12px;
      border-radius: 6px;
      margin-bottom: 10px;
      font-size: 14px;
      color: var(--text);
      border: 1px solid #e5e7eb;
    }

    .excel-box {
      width: 100%;
      height: calc(100% - 140px);
      overflow: auto;
      border: 1px solid #e5e7eb;
      border-radius: 8px;
      background: var(--bg);
    }

    table {
      border-collapse: collapse;
      min-width: 100%;
    }

    th,
    td {
      border: 1px solid #e5e7eb;
      min-width: 90px;
      height: 36px;
      padding: 0;
    }

    th {
      background: #f9fafb;
      text-align: center;
      position: sticky;
      top: 0;
      z-index: 10;
    }

    .row-header {
      position: sticky;
      left: 0;
      background: var(--bg);
      text-align: center;
    }

    .cell-input {
      width: 100%;
      height: 100%;
      border: none;
      outline: none;
      padding: 0 8px;
      background: transparent;
    }