/* Ocha Staff Portal v2 - VTU-like UI */

:root{
  --ocha-navy:#0b2a55;
  --ocha-bg:#f5f7fb;
  --ocha-card:#ffffff;
  --ocha-border:#e7ecf3;
  --ocha-text:#0f172a;
  --ocha-muted:#64748b;
}

.ocha-sp-shell{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:18px;background:var(--ocha-bg)}
.ocha-sp-auth{width:100%;max-width:520px;background:var(--ocha-card);border:1px solid var(--ocha-border);border-radius:18px;padding:18px;box-shadow:0 6px 20px rgba(15,23,42,.06)}
.ocha-sp-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ocha-sp-logo{width:44px;height:44px;border-radius:14px;background:var(--ocha-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:1px}
.ocha-sp-title{font-size:18px;font-weight:800;color:var(--ocha-text)}
.ocha-sp-sub{font-size:13px;color:var(--ocha-muted)}
.ocha-sp-form label{display:block;margin:10px 0 6px;font-weight:700;color:var(--ocha-text);font-size:13px}
.ocha-sp-form input[type="text"],.ocha-sp-form input[type="password"],.ocha-sp-form input[type="email"]{width:100%;padding:12px;border:1px solid var(--ocha-border);border-radius:12px;outline:none}
.ocha-sp-form input:focus{border-color:#c7d2fe;box-shadow:0 0 0 4px rgba(99,102,241,.12)}
.ocha-sp-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0}
.ocha-sp-check{font-size:13px;color:var(--ocha-muted);display:flex;align-items:center;gap:8px}
.ocha-sp-link{font-size:13px;color:var(--ocha-navy);text-decoration:none}
.ocha-sp-link:hover{text-decoration:underline}
.ocha-sp-btn{background:var(--ocha-navy);color:#fff;border:none;border-radius:12px;padding:12px 14px;font-weight:800;cursor:pointer}
.ocha-sp-btn:hover{filter:brightness(1.05)}
.ocha-sp-btn-outline{background:#fff;color:var(--ocha-navy);border:1px solid var(--ocha-border)}
.ocha-sp-foot{margin-top:10px;color:var(--ocha-muted);font-size:12px}
.ocha-sp-alert{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;padding:10px;border-radius:12px;margin-bottom:10px;font-size:13px}
.ocha-sp-card{max-width:760px;margin:18px auto;background:var(--ocha-card);border:1px solid var(--ocha-border);border-radius:18px;padding:18px}

/* VTU dashboard */
.ocha-vtu{display:flex;min-height:80vh;background:var(--ocha-bg);border-radius:18px;overflow:hidden;border:1px solid var(--ocha-border)}
.ocha-vtu-sidebar{width:260px;background:#0b2a55;color:#fff;padding:16px;display:flex;flex-direction:column;gap:14px}
.ocha-vtu-sidehead{display:flex;align-items:center;gap:12px}
.ocha-vtu-avatar{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-weight:900}
.ocha-vtu-name{font-weight:900}
.ocha-vtu-role{font-size:12px;opacity:.85}
.ocha-vtu-nav{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.ocha-vtu-nav a{color:#e5e7eb;text-decoration:none;padding:10px 12px;border-radius:12px;font-weight:700;font-size:13px}
.ocha-vtu-nav a:hover{background:rgba(255,255,255,.10)}
.ocha-vtu-nav a.active{background:rgba(255,255,255,.18)}

.ocha-vtu-main{flex:1;padding:18px}
.ocha-vtu-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}
.ocha-vtu-h1{font-size:20px;font-weight:900;color:var(--ocha-text)}
.ocha-vtu-sub{font-size:13px;color:var(--ocha-muted);margin-top:4px}
.ocha-vtu-chip{background:#fff;border:1px solid var(--ocha-border);padding:8px 10px;border-radius:999px;font-weight:800;font-size:12px;color:var(--ocha-text)}
.ocha-vtu-alert{background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;padding:10px;border-radius:12px;margin-bottom:12px;font-size:13px}

.ocha-vtu-section{margin-top:14px}
.ocha-vtu-h2{font-size:15px;font-weight:900;color:var(--ocha-text);margin-bottom:10px}
.ocha-vtu-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ocha-vtu-card{background:#fff;border:1px solid var(--ocha-border);border-radius:16px;padding:12px}
.ocha-vtu-card .k{color:var(--ocha-muted);font-size:12px;font-weight:800}
.ocha-vtu-card .v{color:var(--ocha-text);font-size:18px;font-weight:900;margin-top:6px}

.ocha-vtu-tablewrap{background:#fff;border:1px solid var(--ocha-border);border-radius:16px;overflow:auto}
.ocha-vtu-table{width:100%;border-collapse:collapse;min-width:1200px}
.ocha-vtu-table th{background:#f8fafc;color:#334155;text-align:left;font-size:12px;padding:10px;border-bottom:1px solid var(--ocha-border)}
.ocha-vtu-table td{padding:10px;border-bottom:1px solid var(--ocha-border);vertical-align:top;font-size:13px;color:var(--ocha-text)}
.ocha-vtu-strong{font-weight:900}
.ocha-vtu-muted{color:var(--ocha-muted);font-size:12px;margin-top:4px}
.ocha-vtu-empty{background:#fff;border:1px dashed var(--ocha-border);border-radius:16px;padding:14px;color:var(--ocha-muted)}

.ocha-vtu-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;text-transform:capitalize}
.ocha-assigned{background:#fef3c7;color:#92400e}
.ocha-in_progress{background:#dbeafe;color:#1e40af}
.ocha-completed{background:#dcfce7;color:#166534}

.ocha-vtu-upload{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ocha-vtu-upload input[type=file]{max-width:220px}
.ocha-vtu-photos{margin-top:8px;display:flex;gap:10px;flex-wrap:wrap}
.ocha-vtu-photos a{font-size:12px;color:var(--ocha-navy);text-decoration:none}
.ocha-vtu-photos a:hover{text-decoration:underline}

.ocha-vtu-box{background:#fff;border:1px solid var(--ocha-border);border-radius:16px;padding:12px}
.ocha-vtu-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ocha-vtu-k{color:var(--ocha-muted);font-size:12px;font-weight:800}
.ocha-vtu-v{color:var(--ocha-text);font-size:18px;font-weight:900;margin-top:6px}

@media (max-width: 980px){
  .ocha-vtu{flex-direction:column}
  .ocha-vtu-sidebar{width:100%}
  .ocha-vtu-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ocha-vtu-topbar{flex-direction:column}
}

.ocha-vtu-avatarimg{width:48px;height:48px;border-radius:14px;object-fit:cover;border:1px solid rgba(255,255,255,.15)}

.ocha-vtu-profilegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.ocha-vtu-profilegrid>div{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);padding:12px;border-radius:14px}
.ocha-vtu-profilegrid span{display:block;font-size:12px;opacity:.75;margin-bottom:4px}
.ocha-vtu-profilegrid b{font-size:14px}
.ocha-vtu-profilegrid .wide{grid-column:1/-1}
@media(max-width:900px){.ocha-vtu-profilegrid{grid-template-columns:1fr}}

.ocha-vtu-badge.ocha-resolved{background:#e7f7ee;color:#0f6d2d;border:1px solid #bdeccf;}
