:root{--orange:#ff5a00;--orange2:#ff7a1a;--dark:#111827;--muted:#6b7280;--line:#e5e7eb;--bg:#f7f8fb;--card:#fff;--green:#16a34a;--red:#dc2626}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:#111827}a{text-decoration:none;color:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:292px;background:#fff;border-right:1px solid var(--line);padding:24px 18px;position:sticky;top:0;height:100vh}.logo{width:185px;display:block;margin-bottom:28px}.nav-title{font-size:12px;text-transform:uppercase;color:var(--muted);font-weight:700;margin:28px 10px 10px}.nav a{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:10px;color:#1f2937;font-weight:600;margin:4px 0}.nav a.active,.nav a:hover{background:linear-gradient(90deg,var(--orange),#ff3d00);color:#fff;box-shadow:0 8px 16px rgba(255,90,0,.18)}.main{flex:1;padding:0 28px 28px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin:0 -28px 24px;padding:0 28px;background:#fff}.search{width:420px;max-width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--orange);background:#fff;color:var(--orange);padding:11px 16px;border-radius:10px;font-weight:800;cursor:pointer}.btn.primary{background:linear-gradient(90deg,var(--orange),#ff3d00);color:white;border:0}.btn.danger{border-color:#fecaca;color:#dc2626}.grid{display:grid;gap:18px}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.two{grid-template-columns:1fr 410px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(17,24,39,.04);padding:20px}.stat{display:flex;align-items:center;gap:18px}.icon{width:54px;height:54px;border:2px solid var(--orange);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--orange);font-size:26px}.stat b{font-size:30px}.small{color:var(--muted);font-size:13px}.green{color:var(--green)}h1,h2,h3{margin:0 0 14px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.table th{font-size:12px;text-transform:uppercase;color:var(--muted);background:#fafafa}.badge{display:inline-block;padding:5px 9px;border-radius:8px;font-size:12px;font-weight:800}.badge.green{background:#dcfce7}.badge.red{background:#fee2e2;color:#dc2626}.badge.gray{background:#f3f4f6;color:#374151}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 10%,rgba(255,90,0,.12),transparent 32%),#fff}.login-card{width:420px;max-width:100%;padding:34px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(17,24,39,.12)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 13px;font:inherit;background:#fff}.form-row{margin-bottom:14px}.public-header{background:#fff;border-bottom:1px solid var(--line);padding:18px 32px;display:flex;align-items:center;justify-content:space-between}.public-wrap{max-width:1180px;margin:0 auto;padding:34px 22px}.folder-card{display:flex;gap:16px;align-items:center;padding:24px}.secure-panel{background:linear-gradient(135deg,var(--orange),#ff3d00);color:#fff;border-radius:16px;padding:24px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.footer-note{position:absolute;bottom:18px;left:24px;color:#9ca3af;font-size:12px}@media(max-width:1050px){.layout{display:block}.sidebar{height:auto;width:auto;position:relative}.two,.cols-4,.cols-3{grid-template-columns:1fr}.main{padding:0 16px 20px}.topbar{margin:0 -16px 20px;padding:0 16px}.search{width:240px}.footer-note{position:static;margin-top:25px}}

/* ===== LOGIN FIX V3 - vyvážená verze podle poslední skici ===== */

.login-page,
body.login-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 18% 12%, rgba(255, 90, 0, .10), transparent 32%),
        radial-gradient(circle at 86% 90%, rgba(255, 90, 0, .04), transparent 36%),
        #ffffff !important;
}

.login-wrap {
    min-height: 100vh !important;
    display: grid !important;
    place-items: center !important;
    padding: 32px 18px !important;
}

.login-card {
    width: 640px !important;
    max-width: 100% !important;
    padding: 54px 52px 48px !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, .97) !important;
    border: 1px solid #dfe3ea !important;
    box-shadow: 0 22px 60px rgba(17, 24, 39, .10) !important;
}

.login-card-centered {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.login-logo-wrap {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 0 34px !important;
}

.login-logo {
    width: 285px !important;
    max-width: 78% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

.login-card h2 {
    width: 100% !important;
    margin: 0 0 12px !important;
    text-align: center !important;
    font-size: 30px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    color: #111827 !important;
    font-family: Inter, system-ui, -apple-system, Segoe UI, Arial, sans-serif !important;
}

.login-subtitle {
    width: 100% !important;
    margin: 0 0 28px !important;
    text-align: center !important;
    color: #6b7280 !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    font-family: Inter, system-ui, -apple-system, Segoe UI, Arial, sans-serif !important;
}

.login-error {
    margin: 0 auto 18px !important;
}

.login-input-wrap {
    width: 100% !important;
    max-width: 500px !important;
    position: relative !important;
    margin: 0 auto 18px !important;
}

.login-input-wrap input {
    width: 100% !important;
    height: 62px !important;
    border-radius: 14px !important;
    border: 1px solid #d9dde5 !important;
    padding: 0 18px 0 62px !important;
    font-size: 21px !important;
    color: #111827 !important;
    background: #fff !important;
    box-shadow: inset 0 1px 0 rgba(17, 24, 39, .02) !important;
    font-family: Inter, system-ui, -apple-system, Segoe UI, Arial, sans-serif !important;
}

.login-input-wrap input::placeholder {
    color: #9ca3af !important;
}

.login-input-wrap input:focus {
    outline: none !important;
    border-color: var(--orange) !important;
    box-shadow: 0 0 0 4px rgba(255, 90, 0, .12) !important;
}

.login-input-icon {
    position: absolute !important;
    left: 22px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 2 !important;
    width: 24px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #8a8f99 !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

.login-submit {
    width: 100% !important;
    max-width: 500px !important;
    height: 62px !important;
    margin-top: 8px !important;
    border-radius: 14px !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #fff !important;
    background: linear-gradient(90deg, #ff5a00, #ff3300) !important;
    border: 0 !important;
    box-shadow: 0 12px 24px rgba(255, 90, 0, .22) !important;
    font-family: Inter, system-ui, -apple-system, Segoe UI, Arial, sans-serif !important;
}

.login-submit:hover {
    filter: brightness(.98);
}

@media (max-width: 720px) {
    .login-card {
        width: 100% !important;
        padding: 38px 22px 34px !important;
        border-radius: 22px !important;
    }

    .login-logo {
        width: 245px !important;
    }

    .login-logo-wrap {
        margin-bottom: 28px !important;
    }

    .login-card h2 {
        font-size: 25px !important;
    }

    .login-subtitle {
        font-size: 15px !important;
        margin-bottom: 24px !important;
    }

    .login-input-wrap input {
        height: 56px !important;
        font-size: 18px !important;
        padding-left: 56px !important;
    }

    .login-input-icon {
        left: 20px !important;
        font-size: 18px !important;
    }

    .login-submit {
        height: 56px !important;
        font-size: 19px !important;
    }
}
