/* ---------- UNICO — base (reset + variabili + typography) ---------- */

:root {
    --c-primary: #0071bc;
    --c-primary-dark: #005a99;
    --c-primary-light: #e6f2fa;
    --c-secondary: #8dc641;
    --c-secondary-dark: #70a02e;
    --c-secondary-light: #f0f8e4;
    --c-text: #1e2a35;
    --c-text-muted: #5b6b7c;
    --c-bg: #f5f7fa;
    --c-white: #ffffff;
    --c-border: #dbe3ea;
    --c-border-strong: #b4c1cd;
    --c-success: #22a357;
    --c-warning: #e0a218;
    --c-danger: #d94341;
    --c-info: #1aa6b8;

    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;

    --shadow-sm: 0 1px 2px rgba(30,42,53,.07);
    --shadow-md: 0 4px 10px rgba(30,42,53,.08);
    --shadow-lg: 0 12px 28px rgba(30,42,53,.14);

    --t-fast: .12s ease;
    --t-base: .22s ease;

    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.55;
    color: var(--c-text);
    background: var(--c-bg);
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0 0 12px 0;
    color: var(--c-primary-dark);
    line-height: 1.25;
    font-weight: 700;
}

h1 { font-size: 28px; }
h2 { font-size: 22px; }
h3 { font-size: 18px; }
h4 { font-size: 16px; }

p { margin: 0 0 12px 0; }

a {
    color: var(--c-primary);
    text-decoration: none;
    transition: color var(--t-fast);
}

a:hover { color: var(--c-primary-dark); text-decoration: underline; }

code, pre { font-family: var(--font-mono); }

hr {
    border: 0;
    height: 1px;
    background: var(--c-border);
    margin: 16px 0;
}

/* Utility */
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.text-muted { color: var(--c-text-muted); }
.text-primary { color: var(--c-primary); }
.text-success { color: var(--c-success); }
.text-danger { color: var(--c-danger); }
.text-warning { color: var(--c-warning); }
.text-center { text-align: center; }
.text-right { text-align: right; }
.mt-0 { margin-top: 0; } .mt-1 { margin-top: 8px; } .mt-2 { margin-top: 16px; } .mt-3 { margin-top: 24px; } .mt-4 { margin-top: 32px; }
.mb-0 { margin-bottom: 0; } .mb-1 { margin-bottom: 8px; } .mb-2 { margin-bottom: 16px; } .mb-3 { margin-bottom: 24px; } .mb-4 { margin-bottom: 32px; }
.flex { display: flex; } .flex-between { display: flex; justify-content: space-between; align-items: center; }
.gap-1 { gap: 8px; } .gap-2 { gap: 16px; }
.w-100 { width: 100%; }
.nowrap { white-space: nowrap; }

.hidden { display: none !important; }

@media (max-width: 768px) {
    .container { padding: 0 12px; }
    h1 { font-size: 22px; }
    h2 { font-size: 18px; }
}
