:root {
    --store-shell-bg: #e4e3df;
    --store-surface: #f5f3ef;
    --store-surface-alt: #ece8e2;
    --store-surface-strong: #ffffff;
    --store-border: rgba(74, 91, 110, 0.2);
    --store-border-strong: rgba(20, 46, 79, 0.2);
    --store-text-main: #1f2d3d;
    --store-text-muted: #6a7787;
    --store-text-subtle: #8792a0;
    --store-accent: #12365d;
    --store-accent-soft: #dbe7f3;
    --store-accent-line: rgba(18, 54, 93, 0.12);
    --store-success: #2f7d5b;
    --store-danger: #8a3d3d;
}

* {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
}

body {
    font-family: "Segoe UI", "Trebuchet MS", sans-serif;
    color: var(--store-text-main);
    background: var(--store-shell-bg);
}

button,
input,
select {
    font: inherit;
}

button {
    cursor: pointer;
}

button:disabled {
    cursor: not-allowed;
    opacity: 0.7;
}

:focus-visible {
    outline: 2px solid rgb(18 54 93 / 0.35);
    outline-offset: 2px;
}

#app {
    width: 100%;
    height: 100%;
}

.store-btn {
    min-height: 2.75rem;
    padding: 0.72rem 1rem;
    border-radius: 0.8rem;
    border: 1px solid var(--store-border-strong);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.store-btn.store-btn-primary {
    background: rgb(255 255 255 / 0.68);
    color: var(--store-accent);
}

.store-btn.store-btn-primary:hover {
    background: rgb(219 231 243 / 0.88);
}

.store-btn.store-btn-secondary {
    background: rgb(255 255 255 / 0.42);
    color: var(--store-text-muted);
}

.store-btn.store-btn-secondary:hover {
    background: rgb(255 255 255 / 0.6);
    color: var(--store-text-main);
}
