        .expression-shell {
          background: #f7f9fc;
          min-height: calc(100vh - 82px);
          padding: 28px 0 48px;
        }

        .proto-container {
          max-width: 1480px;
          margin: 0 auto;
          padding: 0 28px;
        }

        .expression-page-title {
          margin: 0 0 64px;
          font-size: 46px;
          font-weight: 700;
          color: #214b8d;
          line-height: 1.08;
        }

        .expression-layout {
          display: grid;
          grid-template-columns: 1fr;
          gap: 18px;
        }

        .expression-panel,
        .expression-results {
          background: #ffffff;
          border: 1px solid #dfe6ef;
          border-radius: 10px;
          box-shadow: 0 4px 14px rgba(34, 56, 92, 0.05);
        }

        .expression-panel {
          padding: 24px 24px 20px;
        }

        .expression-panel h3 {
          margin: 0 0 18px;
          font-size: 22px;
          font-weight: 700;
          color: #1b3558;
        }

        .expression-filter-grid {
          display: grid;
          grid-template-columns: minmax(250px, 1.35fr) repeat(3, minmax(160px, 1fr)) auto;
          gap: 18px;
          align-items: end;
        }

        .expression-filter-group {
          display: grid;
          gap: 10px;
          margin: 0;
        }

        .expression-filter-label {
          font-size: 12px;
          font-weight: 700;
          color: #617089;
          letter-spacing: 0;
        }

        .expression-filter-input,
        .expression-filter-select,
        .expression-page-size-select,
        .expression-page-jump-input {
          width: 100%;
          min-height: 46px;
          border: 1px solid #d8e0ea;
          border-radius: 8px;
          background: #ffffff;
          display: flex;
          align-items: center;
          padding: 0 14px;
          color: #49627f;
          font-size: 14px;
          outline: none;
          transition: border-color 0.2s ease, box-shadow 0.2s ease;
          box-sizing: border-box;
        }

        .expression-filter-input:focus,
        .expression-filter-select:focus,
        .expression-page-size-select:focus,
        .expression-page-jump-input:focus {
          border-color: #79a6ea;
          box-shadow: 0 0 0 4px rgba(92, 143, 219, 0.14);
        }

        .expression-filter-actions {
          display: flex;
          gap: 10px;
          align-items: center;
          justify-content: flex-end;
          min-height: 46px;
        }

        .expression-filter-btn {
          min-height: 40px;
          padding: 0 16px;
          border: 1px solid #d6e2f5;
          border-radius: 6px;
          background: #ffffff;
          color: #31588f;
          font-size: 13px;
          font-weight: 700;
          cursor: pointer;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          line-height: 1;
          text-decoration: none;
          box-sizing: border-box;
        }

        .expression-filter-btn.is-primary {
          background: #2f63b9;
          border-color: #2f63b9;
          color: #ffffff;
        }

        .expression-results {
          padding: 18px 18px 16px;
        }

        .expression-table-wrap {
          overflow: auto;
          border: 1px solid #dfe6ef;
          border-radius: 10px;
        }

        .expression-table {
          width: 100%;
          border-collapse: collapse;
          min-width: 1120px;
          background: #ffffff;
          table-layout: fixed;
        }

        .expression-table th,
        .expression-table td {
          padding: 12px 14px;
          text-align: left;
          border-bottom: 1px solid #ebeff5;
          font-size: 14px;
          vertical-align: top;
          overflow: hidden;
        }

        .expression-table th {
          background: #f3f6fa;
          color: #53657e;
          font-size: 12px;
          letter-spacing: 0.02em;
          font-weight: 800;
        }

        .expression-table tr:last-child td {
          border-bottom: none;
        }

        .expression-table tbody tr:hover {
          background: #f8fbff;
        }

        .expression-te-name {
          color: #214b8d;
          font-weight: 700;
          text-decoration: none;
          font-size: 16px;
        }

        .expression-context-cell,
        .expression-cv-cell,
        .expression-name-cell {
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
        }

        .expression-context-stack {
          display: grid;
          gap: 4px;
        }

        .expression-context-stack strong {
          color: #1f4678;
          font-weight: 700;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
        }

        .expression-context-stack small {
          color: #7a8ba5;
          font-size: 12px;
        }

        .expression-empty,
        .expression-error {
          display: block;
          padding: 34px 18px;
          text-align: center;
          color: #6f83a3;
          font-size: 14px;
          line-height: 1.8;
        }

        .expression-error {
          color: #8e4b4b;
          background: #fff8f7;
          border: 1px solid #f1d4d0;
          border-radius: 10px;
          text-align: left;
          padding: 20px 18px;
        }

        .expression-pagination {
          display: flex;
          align-items: center;
          justify-content: flex-end;
          gap: 24px;
          margin-top: 16px;
          flex-wrap: wrap;
        }

        .expression-page-size,
        .expression-page-jump,
        .expression-value-mode {
          display: inline-flex;
          align-items: center;
          gap: 14px;
          color: #445a79;
          font-size: 15px;
        }

        .expression-page-size-label,
        .expression-page-jump-label,
        .expression-value-mode-label {
          white-space: nowrap;
          font-weight: 500;
        }

        .expression-page-size-select {
          width: 118px;
          font-size: 15px;
          font-weight: 600;
          color: #2a436a;
          appearance: auto;
        }

        .expression-page-jump-input {
          width: 86px;
          font-size: 15px;
          color: #2a436a;
        }

        .expression-page-status {
          font-size: 15px;
          color: #243b61;
          min-width: 140px;
          text-align: center;
        }

        .expression-page-actions {
          display: flex;
          align-items: center;
          gap: 12px;
        }

        .expression-page-btn {
          width: 40px;
          height: 40px;
          border: none;
          background: transparent;
          color: #70819a;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          cursor: pointer;
          padding: 0;
          text-decoration: none;
        }

        .expression-page-btn svg {
          width: 24px;
          height: 24px;
          stroke: currentColor;
          stroke-width: 2.4;
          fill: none;
          stroke-linecap: round;
          stroke-linejoin: round;
        }

        .expression-page-btn:hover:not(.is-disabled) {
          color: #2f63b9;
        }

        .expression-page-btn.is-disabled {
          opacity: 0.35;
          cursor: not-allowed;
          pointer-events: none;
        }

        .expression-value-mode-group {
          display: inline-flex;
          align-items: center;
          gap: 8px;
          flex-wrap: wrap;
        }

        .expression-value-mode-btn {
          min-height: 36px;
          padding: 0 12px;
          border: 1px solid #d6e2f5;
          border-radius: 6px;
          background: #ffffff;
          color: #31588f;
          font-size: 13px;
          font-weight: 700;
          text-decoration: none;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          line-height: 1;
          box-sizing: border-box;
        }

        .expression-value-mode-btn.is-active {
          background: #eef4ff;
          border-color: #8fb3eb;
          color: #214b8d;
        }

        @media (max-width: 1180px) {
          .expression-filter-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
          }

          .expression-filter-actions {
            justify-content: flex-start;
          }
        }

        @media (max-width: 760px) {
          .proto-container {
            padding: 0 16px;
          }

          .expression-filter-grid {
            grid-template-columns: 1fr;
          }

          .expression-pagination {
            justify-content: flex-start;
          }
        }
