/* =========================================================
   IT-TOOLS
   GLOBAL THEME
   ========================================================= */

:root {
    --accent-color: #0d6efd;

    --color-background: #f5f7fb;
    --color-surface: #ffffff;

    --color-text: #172033;
    --color-text-secondary: #6c757d;

    --color-border: #dee2e6;

    --mode-free-color: #198754;
    --mode-full-color: #c89b3c;

    --radius: 1rem;
    --radius-small: .5rem;

    --space-xs: .45rem;
    --space-sm: .65rem;
    --space-md: .9rem;
    --space-lg: 1.25rem;
    --space-xl: 2rem;

    --panel-padding: .85rem;

    --font-title: 1.55rem;
    --font-hero: 1.8rem;
    --font-normal: .92rem;
    --font-small: .75rem;
    --font-label: .68rem;

    --button-width: 16rem;
    --button-height: 42px;
}


body {
    background: var(--color-background);
    color: var(--color-text);
}


.app-mode .workspace-header {
    display: none;
}

.site-header,
.site-footer {
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-border);
}

.site-footer {
    border-top: 1px solid var(--color-border);
    border-bottom: none;
    margin-top: var(--space-xl);
}

.brand {
    font-weight: 700;
}

/* BRAND */

.brand-link {
    color: var(--color-text);
    text-decoration: none;
}

.brand-link:hover,
.brand-link:focus {
    color: var(--mode-free-color);
    text-decoration: none;
}

.full-mode .brand-link:hover,
.full-mode .brand-link:focus {
    color: var(--mode-full-color);
}

/* LANDING */

.landing-shell {
    padding-top: 2rem;
    padding-bottom: 1rem;
}

.landing-panel {
    max-width: 68rem;
    margin: 0 auto;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 1.25rem;
}

.landing-flow {
    min-height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    background: #f8f9fb;
    border-radius: var(--radius-small);
    margin-bottom: 1.5rem;
}

.flow-box {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-small);
    padding: .7rem .9rem;
    font-weight: 600;
}

.flow-box.success {
    color: var(--mode-free-color);
}

.flow-arrow {
    color: var(--color-text-secondary);
    font-size: 1.15rem;
}

.landing-content {
    max-width: 52rem;
    margin: 0 auto;
    text-align: center;
}

.landing-content h1 {
    font-size: var(--font-hero);
    font-weight: 700;
    margin-bottom: var(--space-sm);
}

.landing-content p {
    font-size: .95rem;
    line-height: 1.4;
    margin-bottom: .9rem;
}

.mode-choice {
    display: flex;
    justify-content: center;
    gap: var(--space-lg);
    flex-wrap: wrap;
}

.mode-card {
    min-width: 18rem;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-md);
    text-decoration: none;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-small);
    background: var(--color-surface);
    color: var(--color-text);
    transition: .15s ease;
}

.mode-card:hover {
    background: #f8f9fb;
    transform: translateY(-2px);
}

.mode-card:focus,
.mode-card:focus-visible,
.mode-card:active {
    outline: none;
    box-shadow: none;
}

.mode-label {
    font-weight: 700;
    font-size: .9rem;
}

.mode-text {
    color: var(--color-text-secondary);
    font-size: var(--font-small);
}

.mode-button {
    margin-top: var(--space-xs);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    width: 9rem;
    height: 34px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-small);
    background: var(--color-surface);
    color: var(--color-text);
    font-size: .85rem;
    font-weight: 700;
    text-decoration: none;
    transition: .15s ease;
}

.mode-card.free .mode-button:hover {
    border-color: var(--mode-free-color);
    color: var(--mode-free-color);
}

.mode-card.full .mode-button:hover {
    border-color: var(--mode-full-color);
    color: var(--mode-full-color);
}

.mode-button.hidden {
    display: none;
}

.access-panel {
    display: none;
    margin-top: var(--space-sm);
}

.access-panel.visible {
    display: block;
}

.access-label {
    display: block;
    margin-bottom: var(--space-xs);
    font-size: var(--font-small);
    font-weight: 600;
    color: var(--color-text-secondary);
}

.access-input {
    text-align: center;
}

.unlock-button {
    margin-top: var(--space-sm);
}

.access-message {
    min-height: 1.2rem;
    margin-top: var(--space-xs);
    font-size: var(--font-small);
    color: #dc3545;
}

/* APP LAYOUT */

.app-shell {
    padding-top: 1.25rem;
    padding-bottom: .75rem;
}

.tool-menu,
.tool-panel {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: var(--panel-padding);
}

.tool-menu {
    min-height: 10rem;
}

.tool-panel {
    min-height: 20rem;
    display: flex;
    flex-direction: column;
}

.workspace-body {
    display: flex;
    flex-direction: column;
}

/* MENU */

.menu-title {
    font-size: var(--font-label);
    font-weight: 700;
    letter-spacing: .12em;
    color: var(--color-text-secondary);
    margin-bottom: var(--space-sm);
}

.tool-link {
    display: flex;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: var(--space-xs);
    text-decoration: none;
    border-left: 4px solid transparent;
    border-radius: var(--radius-small);
    color: var(--color-text);
    transition: .15s ease;
}

.tool-link:hover {
    background: #f8f9fb;
}

.tool-link.active {
    color: var(--accent-color);
    border-left-color: var(--accent-color);
    font-weight: 700;
}

.tool-link.disabled {
    opacity: .60;
    cursor: default;
}

.tool-link span {
    font-size: var(--font-small);
    color: var(--color-text-secondary);
}

/* WORKSPACE */

.workspace-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-md);
    margin-bottom: .35rem;
}

.workspace-title h1 {
    margin: 0;
    font-size: var(--font-title);
    font-weight: 600;
}

.mode-badge {
    font-size: .85rem;
    white-space: nowrap;
    user-select: none;
}

.bracket {
    color: var(--color-text-secondary);
}

.mode-free {
    color: var(--mode-free-color);
    font-weight: 700;
}

.mode-full {
    color: var(--mode-full-color);
    font-weight: 700;
}

.tool-intro {
    margin-bottom: var(--space-sm);
}

.form-block {
    margin-bottom: var(--space-md);
}

/* BUTTON */

.action-row {
    text-align: center;
    margin-top: .4rem;
    margin-bottom: .4rem;
}

.analyze-button {
    width: var(--button-width);
    height: var(--button-height);
    max-width: 100%;
    border-radius: var(--radius-small);
    font-size: var(--font-normal);
    font-weight: 600;
}
/* FREE */

.app-mode:not(.full-mode) .tool-link.active {
    color: var(--mode-free-color);
    border-left-color: var(--mode-free-color);
}
.app-mode:not(.full-mode) .analyze-button {
    background: var(--mode-free-color);
    border-color: var(--mode-free-color);
    color: #ffffff;
}

.app-mode:not(.full-mode) .analyze-button:hover,
.app-mode:not(.full-mode) .analyze-button:focus {
    background: #157347;
    border-color: #157347;
    color: #ffffff;
}

/* PREMIUM */

.full-mode .analyze-button {
    background: #ffffff;
    border: 2px solid var(--mode-full-color);
    color: var(--mode-full-color);
}

.full-mode .analyze-button:hover,
.full-mode .analyze-button:focus {
    background: #fff8e1;
    border-color: var(--mode-full-color);
    color: var(--mode-full-color);
}

/* STATUS */

.status-box {
    margin-top: .2rem;
    border-top: 1px solid var(--color-border);
    padding-top: .2rem;
}
/* REPORT EMBED */

.report-panel {
    margin-top: 1rem;
    border-top: 1px solid var(--color-border);
    padding-top: .75rem;
}

.report-panel.hidden {
    display: none;
}

.report-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    margin-bottom: var(--space-sm);
}

.report-toolbar h6 {
    margin: 0;
}

.report-frame {
    width: 100%;
    min-height: 34rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-small);
    background: var(--color-surface);
}

.full-mode .tool-link.active {
    color: var(--mode-full-color);
    border-left-color: var(--mode-full-color);
}
/* FOOTER*/

.footer-brand-link {
    color: var(--color-text);
    font-weight: 600;
    text-decoration: none;
}

.footer-brand-link:hover,
.footer-brand-link:focus {
    color: var(--accent-color);
    text-decoration: none;
}

.full-mode .footer-brand-link:hover,
.full-mode .footer-brand-link:focus {
    color: var(--mode-full-color);
}

/* HOME */

.home-link {
    text-decoration: none;
    font-weight: 700;
    color: inherit;
    transition: .15s ease;
}

.home-link:hover {
    text-decoration: none;
    padding: .25rem .6rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-small);
}

.app-mode:not(.full-mode) .home-link {
    color: var(--mode-free-color);
}

.full-mode .home-link {
    color: var(--mode-full-color);
}

.landing-home {
    color: #dc3545;
    cursor: default;
}

.landing-home:hover {
    border-color: #dc3545;
}

/* CONTACT */

.contact-card {
    width: min(75%, 1200px);
    margin: 0 auto;
}

@media (max-width: 768px) {
    .contact-card {
        width: 95%;
    }

}

 /* RAPORT */
.raport-card {
    width: min(75%, 1200px);
    margin: 0 auto;

}