:root {
    --target-primary: #1769aa;
    --target-primary-700: #0f4f88;
    --target-primary-soft: #eaf4ff;
    --target-accent: #f59e0b;
    --target-success: #14804a;
    --target-danger: #c73737;
    --target-warning: #b96800;
    --target-ink: #17212b;
    --target-muted: #687584;
    --target-line: #e2e8ef;
    --target-surface: #ffffff;
    --target-bg: #f3f6f9;
    --target-radius-sm: 10px;
    --target-radius: 16px;
    --target-radius-lg: 24px;
    --target-shadow-sm: 0 5px 18px rgba(31, 55, 78, .06);
    --target-shadow: 0 14px 38px rgba(31, 55, 78, .10);
    --target-ring: 0 0 0 4px rgba(23, 105, 170, .14);
}

#target-app-root, #target-app-root *, #target-app-root *::before, #target-app-root *::after { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body.target-page {
    margin: 0;
    min-height: 100vh;
    color: var(--target-ink);
    background: var(--target-bg);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
#target-app-root button, #target-app-root input, #target-app-root select, #target-app-root textarea { font: inherit; }
#target-app-root button, #target-app-root a { -webkit-tap-highlight-color: transparent; }
#target-app-root button:focus-visible, #target-app-root a:focus-visible, #target-app-root input:focus-visible, #target-app-root select:focus-visible, #target-app-root textarea:focus-visible {
    outline: none;
    box-shadow: var(--target-ring) !important;
}
#target-app-root input, #target-app-root select, #target-app-root textarea {
    color: var(--target-ink);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
#target-app-root input::placeholder, #target-app-root textarea::placeholder { color: #9aa6b2; }
#target-app-root ::selection { background: #cce7ff; color: #0b3152; }

.target-flash {
    position: fixed;
    inset: 14px 50% auto auto;
    transform: translateX(50%);
    z-index: 1000000;
    min-width: min(92vw, 340px);
    padding: 12px 16px;
    color: #fff;
    border-radius: 14px;
    box-shadow: var(--target-shadow);
    text-align: center;
}
.target-flash-error { background: #b4232c; }

/* Authentication */
#target-app-root { width: 100%; max-width: 100%; min-height: 100vh; direction: rtl; overflow-x: clip; isolation: isolate; }
@supports not (overflow: clip) { #target-app-root { overflow-x: hidden; } }
.target-page-home .target-login-fullscreen {
    position: relative !important;
    inset: auto !important;
    min-height: 100svh !important;
    padding: 28px 16px !important;
    background:
        radial-gradient(circle at 15% 15%, rgba(62, 148, 214, .18), transparent 30%),
        radial-gradient(circle at 85% 90%, rgba(245, 158, 11, .15), transparent 32%),
        linear-gradient(145deg, #eff7ff 0%, #f7f9fb 45%, #eef3f8 100%) !important;
}
.target-page-home .target-login-fullscreen::before {
    content: '';
    position: fixed;
    width: 420px;
    height: 420px;
    border: 70px solid rgba(23, 105, 170, .035);
    border-radius: 50%;
    top: -210px;
    left: -150px;
    pointer-events: none;
}
.target-page-home .target-login-card {
    max-width: 460px !important;
    padding: 30px !important;
    border-radius: 28px !important;
    border: 1px solid rgba(255,255,255,.85) !important;
    background: rgba(255,255,255,.93) !important;
    backdrop-filter: blur(18px);
    box-shadow: 0 24px 65px rgba(25, 63, 94, .14) !important;
}
.target-page-home .auth-tab {
    min-height: 44px;
    border-radius: 11px !important;
    color: var(--target-muted) !important;
}
.target-page-home .auth-tab.active {
    color: var(--target-primary) !important;
    box-shadow: 0 5px 16px rgba(25, 63, 94, .10) !important;
}
.target-page-home .auth-group { margin-bottom: 17px !important; }
.target-page-home .auth-group label { color: #465667 !important; font-size: 12.5px !important; }
.target-page-home .auth-group input[type="text"],
.target-page-home .auth-group input[type="tel"],
.target-page-home .auth-group input[type="password"] {
    min-height: 48px;
    padding: 12px 14px !important;
    border: 1px solid #d7e0e8 !important;
    border-radius: 12px !important;
    background: #fbfdff !important;
}
.target-page-home .auth-group input:focus { border-color: var(--target-primary) !important; box-shadow: var(--target-ring); }
.target-page-home .auth-submit {
    min-height: 50px;
    border-radius: 14px !important;
    background: linear-gradient(135deg, var(--target-primary), #2687ce) !important;
    box-shadow: 0 10px 24px rgba(23, 105, 170, .24) !important;
}
.target-page-home .role-radio {
    min-height: 48px;
    border-color: var(--target-line) !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    transition: border .15s ease, transform .15s ease, background .15s ease;
}
.target-page-home .role-radio:hover { transform: translateY(-1px); border-color: #a9c7df !important; background: #f1f8ff !important; }
.target-password-wrap { position: relative; width: 100%; }
.target-password-wrap input { padding-left: 48px !important; }
.target-password-wrap input::-ms-reveal,
.target-password-wrap input::-ms-clear { display: none; }
.target-password-toggle {
    position: absolute;
    left: 7px;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 9px;
    color: var(--target-muted);
    background: transparent;
    line-height: 0;
    cursor: pointer;
    transition: color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.target-password-toggle:hover { color: var(--target-primary); background: rgba(21, 101, 192, .08); }
.target-password-toggle:focus-visible { outline: none; color: var(--target-primary); box-shadow: 0 0 0 3px rgba(21, 101, 192, .16); }
.target-password-eye {
    display: block;
    width: 20px;
    height: 20px;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}

/* Tools */
.target-page-tools-index .wrap { max-width: 1120px !important; padding: 24px !important; }
.target-page-tools-index .top, .target-page-tools-index .box {
    border: 1px solid var(--target-line) !important;
    border-radius: var(--target-radius-lg) !important;
    box-shadow: var(--target-shadow-sm) !important;
}
.target-page-tools-index .grid { gap: 20px !important; }
.target-page-tools-index .box { padding: 24px !important; }
.target-page-tools-index .btn { border-radius: 12px !important; min-height: 44px; }

@media (max-width: 560px) {
    .target-page-home .target-login-card { padding: 22px 18px !important; border-radius: 22px !important; }
    .target-page-tools-index .wrap { padding: 12px !important; margin: 10px auto !important; }
    .target-page-tools-index .top { align-items: flex-start !important; gap: 12px; flex-direction: column; }
}
.target-auth-layout { width: min(100%, 1040px); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(390px, 460px); align-items: center; gap: 44px; }
.target-auth-aside { padding: 24px; color: #1b344b; }
.target-auth-kicker { display: inline-flex; padding: 7px 11px; border-radius: 999px; color: #0f5f9f; background: #dff0ff; font-size: 11px; font-weight: 850; }
.target-auth-aside h1 { max-width: 590px; margin: 18px 0 12px; font-size: clamp(30px, 4vw, 48px); line-height: 1.55; letter-spacing: -.02em; }
.target-auth-aside > p { max-width: 590px; margin: 0; color: #647789; font-size: 14px; line-height: 2.1; }
.target-auth-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 28px; }
.target-auth-features > div { min-height: 130px; padding: 14px; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; border: 1px solid rgba(176,203,224,.75); border-radius: 17px; background: rgba(255,255,255,.55); backdrop-filter: blur(8px); }
.target-auth-features .material-icons-round { color: var(--target-primary); font-size: 26px; }
.target-auth-features b { font-size: 12px; }
.target-auth-features small { color: #6b7e8f; font-size: 10px; line-height: 1.8; }
@media (max-width: 900px) { .target-auth-layout { grid-template-columns: 1fr; max-width: 520px; } .target-auth-aside { display: none; } }
