.property-table th,
        .property-table td {
            padding: 0.75rem;
            text-align: left;
            border: 1px solid var(--border-color);
        }
        .input-group-custom {
            margin-bottom: 1rem;
        }
        .deep-dive {
            margin: 1.8rem 0;
        }
        .deep-dive p {
            text-align: justify;
        }
        .unit-note {
            font-size: 0.9rem;
            color: #6c757d;
        }
        .coord-input {
            margin-bottom: 0.5rem;
        }
        .token-display {
            background-color: #f8f9fa;
            border: 1px solid #dee2e6;
            border-radius: 6px;
            padding: 1rem;
            font-family: 'Courier New', monospace;
            font-size: 0.85rem;
            word-break: break-all;
            max-height: 200px;
            overflow-y: auto;
            white-space: pre-wrap;
        }
        .token-display.valid {
            border-left: 5px solid #28a745;
        }
        .token-display.invalid {
            border-left: 5px solid #dc3545;
        }
        .json-editor {
            font-family: 'Courier New', monospace;
            font-size: 0.9rem;
            min-height: 100px;
        }
        .jwt-parts {
            display: flex;
            gap: 0.25rem;
            flex-wrap: wrap;
            font-family: 'Courier New', monospace;
            font-size: 0.85rem;
            background: #f1f3f5;
            padding: 0.5rem;
            border-radius: 4px;
            margin-top: 0.5rem;
        }
        .jwt-part {
            background: #fff;
            padding: 0.2rem 0.5rem;
            border-radius: 3px;
            border: 1px solid #dee2e6;
        }
        .jwt-part.header-part {
            border-color: #6c757d;
        }
        .jwt-part.payload-part {
            border-color: #0d6efd;word-break:break-all
        }
        .jwt-part.signature-part {
            border-color: #dc3545;
        }
        .jwt-part-sep {
            color: #6c757d;
            font-weight: bold;
        }
        .claim-badge {
            display: inline-block;
            background: #e9ecef;
            padding: 0.1rem 0.5rem;
            border-radius: 12px;
            font-size: 0.75rem;
            margin: 0.1rem;
        }
        .claim-badge.registered {
            background: #cfe2ff;
            color: #084298;
        }
        .claim-badge.custom {
            background: #d1e7dd;
            color: #0f5132;
        }
        .algorithm-badge {
            display: inline-block;
            padding: 0.2rem 0.6rem;
            border-radius: 20px;
            font-size: 0.8rem;
            font-weight: 600;
        }
        .alg-hs {
            background: #fff3cd;
            color: #856404;
        }
        .alg-rs {
            background: #f8d7da;
            color: #842029;
        }
        .alg-es {
            background: #d1e7dd;
            color: #0f5132;
        }
        .key-input-group {
            position: relative;
        }
        .key-input-group textarea {
            font-family: 'Courier New', monospace;
            font-size: 0.85rem;
        }
        .decoded-panel {
            background: #f8f9fa;
            border-radius: 6px;
            padding: 1rem;
            margin-top: 1rem;
        }
        .decoded-panel pre {
            margin: 0;
            font-size: 0.85rem;
            white-space: pre-wrap;
            word-break: break-all;
        }
        .claim-table td {
            padding: 0.25rem 0.5rem;
            vertical-align: top;
        }
        .claim-table .claim-key {
            font-weight: 600;
            color: var(--primary-color);
        }
        .claim-table .claim-value {
            font-family: 'Courier New', monospace;
            font-size: 0.9rem;
        }
        .status-badge {
            display: inline-block;
            padding: 0.3rem 0.8rem;
            border-radius: 20px;
            font-weight: 600;
            font-size: 0.85rem;
        }
        .status-badge.valid {
            background: #d1e7dd;
            color: #0f5132;
        }
        .status-badge.invalid {
            background: #f8d7da;
            color: #842029;
        }
        .status-badge.pending {
            background: #e2e3e5;
            color: #41464b;
        }
        .e-e-a-t-section {
            background: #f8f9fa;
            border-radius: 8px;
            padding: 1.5rem;
            margin: 1.5rem 0;
        }
        .e-e-a-t-section h4 {
            color: var(--accent-color);
            margin-top: 1.5rem;
        }
        .e-e-a-t-section h4:first-of-type {
            margin-top: 0;
        }
        .security-tip {
            background: #fff3cd;
            border-left: 4px solid #ffc107;
            padding: 0.75rem 1rem;
            border-radius: 0 4px 4px 0;
            margin: 1rem 0;
        }
        .security-tip strong {
            color: #856404;
        }
        .reference-link {
            color: var(--primary-color);
            text-decoration: none;
            border-bottom: 1px dotted var(--primary-color);
        }
        .reference-link:hover {
            text-decoration: none;
            border-bottom: 1px solid var(--primary-color);
        }
        .claim-validator {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            margin-top: 0.5rem;
        }
        .claim-validator .claim-item {
            background: #fff;
            border: 1px solid #dee2e6;
            border-radius: 4px;
            padding: 0.25rem 0.75rem;
            font-size: 0.85rem;
            display: flex;
            align-items: center;
            gap: 0.4rem;
        }
        .claim-validator .claim-item .check {
            color: #28a745;
        }
        .claim-validator .claim-item .cross {
            color: #dc3545;
        }
        .jwt-io-row {
            display: flex;
            flex-wrap: wrap;
            gap: 1.5rem;
        }
        .jwt-io-col {
            flex: 1;
            min-width: 280px;
        }
        @media (max-width: 768px) {
            .jwt-io-col {
                min-width: 100%;
            }
        }