:root{
    --tp-blue:#2563eb;
    --tp-dark:#0f172a;
    --tp-muted:#64748b;
    --tp-bg:#f1f5f9;
    --tp-card:#ffffff;
    --tp-border:#e2e8f0;
}
.tp-login-body{
    min-height:100vh;
    margin:0;
    font-family:Arial, sans-serif;
    background:
        radial-gradient(circle at 10% 10%, rgba(37,99,235,.20), transparent 28%),
        radial-gradient(circle at 90% 20%, rgba(16,185,129,.18), transparent 25%),
        linear-gradient(135deg,#0f172a,#1e293b);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}
.tp-login-wrap{
    width:min(1060px,100%);
    display:grid;
    grid-template-columns:1.15fr .85fr;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.16);
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 30px 90px rgba(0,0,0,.35);
    backdrop-filter:blur(16px);
}
.tp-login-brand{
    padding:46px;
    color:#fff;
    background:linear-gradient(135deg,rgba(37,99,235,.45),rgba(15,23,42,.10));
}
.tp-login-logo{
    width:72px;height:72px;border-radius:22px;
    background:#fff;color:#2563eb;
    display:flex;align-items:center;justify-content:center;
    font-size:34px;font-weight:900;margin-bottom:24px;
}
.tp-login-brand h1{font-size:42px;line-height:1.05;margin:0 0 16px;font-weight:900}
.tp-login-brand p{font-size:17px;color:#dbeafe;line-height:1.6}
.tp-login-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.tp-login-feature{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:14px}
.tp-login-card{
    background:#fff;
    padding:42px;
}
.tp-login-card h2{margin:0 0 8px;font-size:28px;color:#0f172a}
.tp-login-card .muted{color:#64748b;margin-bottom:26px}
.tp-login-input{
    width:100%;
    border:1px solid #e2e8f0;
    border-radius:14px;
    padding:14px 15px;
    margin-bottom:14px;
    font-size:15px;
    box-sizing:border-box;
}
.tp-login-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.tp-login-btn{
    width:100%;
    border:0;border-radius:14px;
    padding:14px 16px;
    background:#2563eb;
    color:#fff;
    font-size:16px;
    font-weight:800;
    cursor:pointer;
    margin-top:8px;
}
.tp-login-btn:hover{background:#1d4ed8}
.tp-login-links{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:14px}
.tp-login-links a{color:#2563eb;text-decoration:none;font-weight:700}
.tp-login-alert{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:12px;border-radius:12px;margin-bottom:14px}
.tp-status-badge{
    display:inline-flex;
    align-items:center;
    gap:7px;
    border-radius:999px;
    padding:6px 12px;
    font-size:13px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
}
.tp-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.tp-status-new{background:#dbeafe;color:#1e40af}
.tp-status-accepted{background:#e0f2fe;color:#075985}
.tp-status-diagnostic{background:#fef3c7;color:#92400e}
.tp-status-approval{background:#ede9fe;color:#5b21b6}
.tp-status-in_progress{background:#dcfce7;color:#166534}
.tp-status-waiting_parts{background:#ffedd5;color:#9a3412}
.tp-status-ready{background:#ccfbf1;color:#115e59}
.tp-status-issued{background:#f3f4f6;color:#374151}
.tp-status-cancelled{background:#fee2e2;color:#991b1b}
.tp-status-warranty{background:#cffafe;color:#155e75}
.tp-status-repeat{background:#fae8ff;color:#86198f}
.tp-status-closed{background:#e5e7eb;color:#111827}
.tp-status-page{
    min-height:100vh;
    margin:0;
    font-family:Arial,sans-serif;
    background:linear-gradient(135deg,#eff6ff,#f8fafc);
    color:#0f172a;
    padding:28px;
}
.tp-status-container{max-width:960px;margin:0 auto}
.tp-status-hero{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:28px;
    padding:30px;
    box-shadow:0 20px 60px rgba(15,23,42,.08);
    margin-bottom:18px;
}
.tp-status-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.tp-status-form input{
    flex:1;min-width:240px;
    border:1px solid #cbd5e1;
    border-radius:14px;
    padding:14px 16px;
    font-size:16px;
}
.tp-status-form button{
    border:0;border-radius:14px;
    padding:14px 20px;
    background:#2563eb;
    color:#fff;
    font-weight:900;
    cursor:pointer;
}
.tp-status-card{
    background:#fff;border:1px solid #e2e8f0;
    border-radius:22px;padding:22px;margin-bottom:16px;
    box-shadow:0 12px 36px rgba(15,23,42,.06);
}
.tp-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tp-status-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px}
.tp-status-info small{display:block;color:#64748b;margin-bottom:5px}
.tp-timeline{position:relative;margin-top:16px}
.tp-timeline-item{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start}
.tp-timeline-num{width:28px;height:28px;border-radius:999px;background:#dbeafe;color:#1e40af;font-weight:900;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.tp-status-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:16px;padding:16px}
@media(max-width:860px){
    .tp-login-wrap{grid-template-columns:1fr}
    .tp-login-brand{display:none}
    .tp-status-grid{grid-template-columns:1fr}
}
