
		* {
			margin: 0;
			padding: 0;
			box-sizing: border-box;
		}

		body {
			font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
			background: #f0f4f8;
			min-height: 100vh;
			display: flex;
			align-items: center;
			justify-content: center;
			padding: 20px;
		}

		.wrapper {
			width: 100%;
			max-width: 800px;
			display: flex;
			gap: 20px;
		}

		.sidebar {
			width: 240px;
			background: #ffffff;
			border-radius: 8px;
			overflow: hidden;
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
			height: fit-content;
		}

		.sidebar-header {
			height: 50px;
			background: #45698b;
			display: flex;
			align-items: center;
			padding: 0 15px;
		}

		.sidebar-header .header-title {
			color: white;
			font-size: 14px;
			font-weight: 500;
			display: flex;
			align-items: center;
			gap: 8px;
		}

		.sidebar-content {
			padding: 15px;
		}

		.stat-item {
			margin-bottom: 20px;
		}

		.stat-label {
			color: #6f7d95;
			font-size: 12px;
			text-transform: uppercase;
			letter-spacing: 0.3px;
			margin-bottom: 5px;
			display: flex;
			align-items: center;
			gap: 5px;
		}

		.stat-value {
			color: #2c3e50;
			font-size: 24px;
			font-weight: 700;
			line-height: 1.2;
		}

		.stat-divider {
			height: 1px;
			background: #e1e8f0;
			margin: 15px 0;
		}

		.protected-section {
			margin-top: 5px;
		}

		.password-form {
			background: #f8fafd;
			border: 1px solid #e1e8f0;
			border-radius: 4px;
			padding: 12px;
			margin-top: 8px;
		}

		.password-input-group {
			display: flex;
			gap: 5px;
			margin-top: 8px;
			flex-direction: column;
		}

		.password-input {
			flex: 1;
			padding: 6px 8px;
			border: 1px solid #d0ddee;
			border-radius: 4px;
			font-size: 12px;
			outline: none;
		}

		.password-input:focus {
			border-color: #45698b;
		}

		.password-submit {
			background: #45698b;
			color: white;
			border: none;
			border-radius: 4px;
			padding: 5px 10px;
			cursor: pointer;
			font-size: 12px;
			display: flex;
			align-items: center;
			gap: 5px;
			justify-content: center;
		}

		.password-submit:hover {
			background: #3a5a78;
		}

		.password-error {
			color: #dc3545;
			font-size: 11px;
			margin-top: 5px;
		}

		.protected-note {
			color: #8a9bb5;
			font-size: 10px;
			margin-top: 5px;
			font-style: italic;
		}

		.protected-badge {
			background: #ffd700;
			color: #2c3e50;
			font-size: 9px;
			padding: 2px 5px;
			border-radius: 10px;
			margin-left: 5px;
		}

		.domains-list {
			max-height: 300px;
			overflow-y: auto;
			margin-top: 10px;
			font-size: 12px;
			border: 1px solid #e1e8f0;
			border-radius: 4px;
			padding: 5px;
		}

		.domain-item {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 6px 8px;
			border-bottom: 1px solid #eef2f6;
			color: #2c3e50;
		}

		.domain-item:last-child {
			border-bottom: none;
		}

		.domain-name {
			font-weight: 500;
			max-width: 120px;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		.domain-count {
			background: #45698b;
			color: white;
			padding: 2px 6px;
			border-radius: 3px;
			font-size: 10px;
			font-weight: 600;
		}

		.last-generated {
			background: #f8fafd;
			border: 1px solid #e1e8f0;
			border-radius: 4px;
			padding: 8px;
			margin-top: 10px;
			font-size: 11px;
			color: #6f7d95;
		}

		.last-generated strong {
			color: #45698b;
			display: block;
			margin-top: 3px;
			font-size: 12px;
		}

		.domain-count-info {
			font-size: 11px;
			color: #6f7d95;
			margin-bottom: 5px;
		}

		.main-content {
			flex: 1;
		}

		section {
			background: #ffffff;
			border-radius: 8px;
			overflow: hidden;
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
		}

		header {
			height: 50px;
			background: #45698b;
			display: flex;
			align-items: center;
			padding: 0 20px;
		}

		.header-title {
			color: white;
			font-size: 16px;
			font-weight: 500;
			display: flex;
			align-items: center;
			gap: 8px;
		}

		.content {
			padding: 30px;
		}

		.info-box {
			background: #f8fafd;
			border: 1px solid #e1e8f0;
			border-left: 4px solid #45698b;
			padding: 15px 20px;
			margin-bottom: 25px;
			color: #2c3e50;
			font-size: 14px;
			display: flex;
			align-items: flex-start;
			gap: 10px;
		}

		.error-box {
			background: #fff3f3;
			border: 1px solid #ffcdcd;
			border-left: 4px solid #dc3545;
			padding: 12px 16px;
			margin-bottom: 20px;
			color: #721c24;
			font-size: 14px;
			display: flex;
			align-items: center;
			gap: 8px;
		}

		.form-group {
			margin-bottom: 25px;
		}

		.form-group label {
			display: block;
			color: #2c3e50;
			font-size: 14px;
			font-weight: 600;
			margin-bottom: 8px;
			display: flex;
			align-items: center;
			gap: 6px;
		}

		.input-wrapper {
			position: relative;
		}

		.input-icon {
			position: absolute;
			left: 12px;
			top: 50%;
			transform: translateY(-50%);
			color: #a0b3c9;
			font-size: 16px;
		}

		input[type="text"] {
			width: 100%;
			padding: 12px 16px 12px 40px;
			background: #ffffff;
			border: 1px solid #d0ddee;
			border-radius: 4px;
			color: #2c3e50;
			font-size: 15px;
			outline: none;
		}

		input[type="text"]:focus {
			border-color: #45698b;
		}

		.hint {
			color: #6f7d95;
			font-size: 13px;
			margin-top: 6px;
			display: flex;
			align-items: center;
			gap: 5px;
		}

		.button {
			background: #45698b;
			color: white;
			border: none;
			border-radius: 4px;
			padding: 12px 24px;
			font-size: 15px;
			font-weight: 500;
			cursor: pointer;
			width: 100%;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 8px;
		}

		.button:hover {
			background: #3a5a78;
		}

		.result-block {
			margin-top: 30px;
			padding-top: 25px;
			border-top: 1px solid #e1e8f0;
		}

		.domain-info {
			background: #f8fafd;
			border: 1px solid #e1e8f0;
			border-radius: 4px;
			padding: 12px 16px;
			margin-bottom: 20px;
			font-size: 14px;
			display: flex;
			align-items: center;
			gap: 10px;
		}

		.key-container {
			background: #f8fafd;
			border: 1px solid #d0ddee;
			border-radius: 4px;
			padding: 20px;
			margin-bottom: 20px;
			position: relative;
		}

		.key-label {
			position: absolute;
			top: -10px;
			left: 15px;
			background: #ffffff;
			padding: 0 8px;
			color: #45698b;
			font-size: 12px;
			font-weight: 600;
			border: 1px solid #d0ddee;
			border-radius: 3px;
			display: flex;
			align-items: center;
			gap: 5px;
		}

		.key-value {
			color: #2c3e50;
			font-family: 'Courier New', monospace;
			font-size: 20px;
			font-weight: 600;
			text-align: center;
			word-break: break-all;
		}

		.copy-button {
			background: #ffffff;
			border: 1px solid #45698b;
			color: #45698b;
			border-radius: 4px;
			padding: 12px 24px;
			font-size: 15px;
			cursor: pointer;
			width: 100%;
			margin-bottom: 25px;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 8px;
		}

		.copy-button:hover {
			background: #45698b;
			color: white;
		}

		.copy-button.copied {
			background: #45698b;
			color: white;
		}

		.instruction-box {
			background: #f8fafd;
			border: 1px solid #e1e8f0;
			border-radius: 4px;
			padding: 20px;
		}

		.instruction-title {
			color: #2c3e50;
			font-size: 15px;
			font-weight: 600;
			margin-bottom: 15px;
			display: flex;
			align-items: center;
			gap: 8px;
		}

		.instruction-steps {
			list-style: none;
		}

		.instruction-steps li {
			color: #2c3e50;
			padding: 8px 0;
			display: flex;
			align-items: center;
			gap: 10px;
			border-bottom: 1px solid #e1e8f0;
			font-size: 14px;
		}

		.step-number {
			background: #ffffff;
			color: #45698b;
			width: 24px;
			height: 24px;
			border-radius: 3px;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 13px;
			border: 1px solid #d0ddee;
		}

		.new-key-link {
			text-align: center;
			margin-top: 20px;
		}

		.new-key-link a {
			color: #6f7d95;
			text-decoration: none;
			font-size: 13px;
			border-bottom: 1px dashed #d0ddee;
			padding-bottom: 2px;
			display: inline-flex;
			align-items: center;
			gap: 5px;
		}

		.new-key-link a:hover {
			color: #45698b;
		}

		.footer {
			margin-top: 25px;
			padding: 15px 30px;
			background: #f8fafd;
			border-top: 1px solid #e1e8f0;
			text-align: center;
			color: #6f7d95;
			font-size: 13px;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 8px;
		}

		.footer a {
			color: #45698b;
			text-decoration: none;
		}

		.toast {
			position: fixed;
			bottom: 30px;
			left: 50%;
			transform: translateX(-50%) translateY(100px);
			background: #2c3e50;
			color: white;
			padding: 12px 24px;
			border-radius: 4px;
			font-size: 14px;
			opacity: 0;
			transition: all 0.3s ease;
			z-index: 1000;
			display: flex;
			align-items: center;
			gap: 8px;
		}

		.toast.show {
			transform: translateX(-50%) translateY(0);
			opacity: 1;
		}


		.domain-item {
			display: flex;
			align-items: center;
			gap: 8px;
		}

		.domain-favicon {
			width: 16px;
			height: 16px;
			border-radius: 3px;
			flex-shrink: 0;
		}

		.domain-name {
			flex: 1;
		}

		.password-input-wrapper {
			position: relative;
			display: flex;
			align-items: center;
			width: 100%;
		}

		.password-input-wrapper .password-input {
			flex: 1;
			width: 100%;
			box-sizing: border-box;
			padding: 6px 8px;
			border: 1px solid #d0ddee;
			border-radius: 4px;
			font-size: 12px;
			outline: none;
		}

		.toggle-password {
			position: absolute;
			right: 8px;
			background: none;
			border: none;
			cursor: pointer;
			color: #6f7d95;
			font-size: 14px;
			padding: 0;
			width: auto;
			line-height: 1;
		}

		.toggle-password:hover {
			color: #45698b;
		}

		.today-stats {
			background: #e8f0fe;
			border: 1px solid #b8d1f0;
			border-radius: 4px;
			padding: 8px 12px;
			margin-bottom: 15px;
			font-size: 12px;
			display: flex;
			align-items: center;
			gap: 4px;
		}

		.today-stats .glyphicon {
			color: #45698b;
		}

		.today-stats strong {
			color: #45698b;
			font-size: 16px;
		}

		.button-loading {
			pointer-events: none;
			opacity: 0.7;
		}

		.spinner {
			display: inline-block;
			width: 16px;
			height: 16px;
			border: 2px solid rgba(255, 255, 255, 0.3);
			border-radius: 50%;
			border-top-color: white;
			animation: spin 0.8s linear infinite;
			margin-right: 8px;
		}

		@keyframes spin {
			to {
				transform: rotate(360deg);
			}
		}
	


    /* ===== МОБИЛЬНАЯ ВЕРСИЯ ===== */
@media screen and (max-width: 768px) {
    body {
        padding: 10px;
        align-items: flex-start;
    }

    .wrapper {
        flex-direction: column;
        gap: 10px;
    }

    /* Сайдбар */
    .sidebar {
        width: 100%;
        max-width: 100%;
    }

    .sidebar-content {
        padding: 12px;
    }

    /* Статистика в сайдбаре */
    .stat-item {
        margin-bottom: 15px;
    }

    .stat-value {
        font-size: 20px;
    }

    .last-generated {
        padding: 6px;
        font-size: 10px;
    }

    /* Список доменов */
    .domains-list {
        max-height: 200px;
    }

    .domain-name {
        max-width: 180px;
    }

    /* Основной контент */
    .main-content {
        width: 100%;
    }

    .content {
        padding: 20px;
    }

    .info-box {
        padding: 12px 15px;
        font-size: 13px;
        margin-bottom: 20px;
    }

    /* Форма */
    .form-group {
        margin-bottom: 20px;
    }

    input[type="text"] {
        padding: 10px 12px 10px 38px;
        font-size: 14px;
    }

    .input-icon {
        font-size: 14px;
        left: 10px;
    }

    .button {
        padding: 10px 20px;
        font-size: 14px;
    }

    /* Результат */
    .key-container {
        padding: 15px;
    }

    .key-value {
        font-size: 16px;
        word-break: break-all;
    }

    .key-label {
        font-size: 10px;
        padding: 0 6px;
        line-height: 16px;
    }

    .copy-button {
        padding: 10px 20px;
        font-size: 14px;
        margin-bottom: 20px;
    }

    /* Инструкция */
    .instruction-box {
        padding: 15px;
    }

    .instruction-steps li {
        padding: 6px 0;
        font-size: 13px;
    }

    .step-number {
        width: 22px;
        height: 22px;
        font-size: 12px;
    }

    .new-key-link a {
        font-size: 12px;
    }

    /* Футер */
    .footer {
        padding: 12px 20px;
        font-size: 12px;
    }

    /* Toast уведомление */
    .toast {
        padding: 10px 20px;
        font-size: 13px;
        bottom: 20px;
    }
}

/* Для очень маленьких экранов */
@media screen and (max-width: 480px) {
    .sidebar-header .header-title {
        font-size: 13px;
    }

    .stat-label {
        font-size: 11px;
    }

    .stat-value {
        font-size: 18px;
    }

    .domain-name {
        max-width: 140px;
        font-size: 11px;
    }

    .domain-count {
        font-size: 9px;
        padding: 1px 4px;
    }

    .info-box {
        flex-direction: column;
        gap: 5px;
    }

    .key-value {
        font-size: 14px;
    }

    .instruction-steps li {
        font-size: 12px;
    }

    .step-number {
        width: 20px;
        height: 20px;
        font-size: 11px;
    }

    .footer {
        flex-wrap: wrap;
        gap: 5px;
    }
}