@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary-color:#0284c7;--primary-hover:#0369a1;--primary-light:#e0f2fe;--bg-color:#f8fafc;--card-bg:#fff;--card-border:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--status-pending-bg:#fef9c3;--status-pending-text:#a16207;--status-pending-border:#fef08a;--status-review-bg:#dbeafe;--status-review-text:#1d4ed8;--status-review-border:#bfdbfe;--status-approved-bg:#dcfce7;--status-approved-text:#15803d;--status-approved-border:#bbf7d0;--status-rejected-bg:#fee2e2;--status-rejected-text:#b91c1c;--status-rejected-border:#fecaca;--status-completed-bg:#dcfce7;--status-completed-text:#14532d;--status-completed-border:#86efac;--font-family:"Inter", system-ui, -apple-system, sans-serif;--border-radius-sm:8px;--border-radius-md:16px;--border-radius-lg:24px;--shadow-sm:0 1px 3px 0 #0000000d, 0 1px 2px -1px #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -4px #0000000d, 0 20px 25px -5px #0000000d;--shimmer-bg:linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);background-image:radial-gradient(at 0 0,#0284c70d 0,#0000 50%),radial-gradient(at 100% 100%,#f1f5f9cc 0,#0000 50%);background-attachment:fixed;min-height:100vh;overflow-x:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.shimmer{background:var(--shimmer-bg);border-radius:var(--border-radius-sm);background-size:200% 100%;animation:1.5s linear infinite shimmer}.app-container{flex-direction:column;gap:2.5rem;max-width:800px;min-height:100vh;margin:0 auto;padding:3rem 1.5rem 5rem;display:flex}.app-header{border-bottom:1px solid var(--card-border);flex-direction:column;gap:.5rem;padding-bottom:1.5rem;display:flex}.brand-wrapper{flex-direction:row;align-items:center;gap:1.25rem;display:flex}.company-logo{object-fit:contain;filter:drop-shadow(0 2px 4px #00000014);width:auto;height:64px}.company-info{flex-direction:column;display:flex}.company-title{color:var(--text-primary);letter-spacing:-.03em;font-size:1.75rem;font-weight:800;line-height:1.2}.app-subtitle{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;font-weight:600}.dashboard-intro{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius-md);text-align:center;box-shadow:var(--shadow-md);flex-direction:column;align-items:center;gap:1.25rem;padding:3rem 2rem;display:flex}.intro-icon-wrapper{width:64px;height:64px;color:var(--primary-color);background:#0284c714;border:1px solid #0284c726;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.25rem;display:flex}.intro-title{color:var(--text-primary);font-size:1.5rem;font-weight:700}.intro-desc{color:var(--text-secondary);max-width:500px;font-size:.975rem;line-height:1.6}.search-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);flex-direction:column;gap:1.25rem;padding:2rem;display:flex}.search-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:700}.search-form{gap:1rem;display:flex}.search-input-wrapper{flex-grow:1;position:relative}.search-input-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:1.25rem;transform:translateY(-50%)}.search-input{border:1.5px solid var(--card-border);border-radius:var(--border-radius-sm);width:100%;color:var(--text-primary);background:#f8fafc;padding:1.1rem 1rem 1.1rem 3.2rem;font-family:inherit;font-size:1.05rem;transition:all .2s}.search-input:focus{border-color:var(--primary-color);background:#fff;outline:none;box-shadow:0 0 0 3px #0284c726}.search-btn{background:var(--primary-color);color:#fff;border-radius:var(--border-radius-sm);cursor:pointer;border:none;align-items:center;gap:.6rem;padding:0 2rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 10px #0284c726}.search-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 14px #0284c733}.search-btn:active:not(:disabled){transform:translateY(0)}.search-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.error-card{background:var(--status-rejected-bg);border:1.5px solid var(--status-rejected-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);align-items:flex-start;gap:1.25rem;padding:2rem;display:flex}.error-icon-wrapper{color:var(--status-rejected-text);background:#ef44441a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;display:flex}.error-details{flex-direction:column;gap:.4rem;display:flex}.error-title{color:var(--status-rejected-text);font-size:1.15rem;font-weight:700}.error-msg{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.setup-warning-card{background:var(--status-pending-bg);border:1.5px solid var(--status-pending-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);align-items:flex-start;gap:1.25rem;padding:2rem;display:flex}.setup-warning-icon-wrapper{color:var(--status-pending-text);background:#eab3081a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;display:flex}.pr-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.pr-card-header{border-bottom:1px solid var(--card-border);background:linear-gradient(#f8fafc80 0%,#0000 100%);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:2rem;display:flex}.pr-meta-info{flex-direction:column;gap:.5rem;display:flex}.pr-code-badge{color:var(--primary-color);background:var(--primary-light);border:1px solid #0284c726;border-radius:4px;align-self:flex-start;padding:.25rem .75rem;font-family:monospace;font-size:1rem;font-weight:700}.pr-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.3}.status-badge{text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-sm);border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1.1rem;font-size:.85rem;font-weight:700;transition:all .3s;display:flex}.status-badge.pending{background-color:var(--status-pending-bg);color:var(--status-pending-text);border:1px solid var(--status-pending-border)}.status-badge.under-review{background-color:var(--status-review-bg);color:var(--status-review-text);border:1px solid var(--status-review-border)}.status-badge.approved{background-color:var(--status-approved-bg);color:var(--status-approved-text);border:1px solid var(--status-approved-border)}.status-badge.rejected{background-color:var(--status-rejected-bg);color:var(--status-rejected-text);border:1px solid var(--status-rejected-border)}.status-badge.completed{background-color:var(--status-completed-bg);color:var(--status-completed-text);border:1px solid var(--status-completed-border)}.pr-card-body{flex-direction:column;gap:2rem;padding:2rem;display:flex}.pr-description-box{flex-direction:column;gap:.5rem;display:flex}.section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;align-items:center;font-size:.8rem;font-weight:700;display:flex}.pr-description-text{color:var(--text-secondary);font-size:1.025rem;line-height:1.6}.pr-details-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.grid-item{border:1px solid var(--card-border);border-radius:var(--border-radius-sm);background:#f8fafc;flex-direction:column;gap:.4rem;padding:1.2rem;display:flex}.grid-item-value{color:var(--text-primary);font-size:1.05rem;font-weight:600}.pr-remarks-box{border-left:4px solid var(--primary-color);border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border);border-right:1px solid var(--card-border);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;background:#f8fafc;flex-direction:column;gap:.4rem;padding:1.25rem;display:flex}.remarks-text{color:var(--text-secondary);font-size:.975rem;font-style:italic}.pr-card-footer{border-top:1px solid var(--card-border);color:var(--text-secondary);background:#f8fafc;justify-content:space-between;align-items:center;padding:1.25rem 2rem;font-size:.85rem;font-weight:500;display:flex}.footer-meta-item{align-items:center;gap:.5rem;display:flex}.skeleton-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);flex-direction:column;gap:2rem;padding:2rem;display:flex}.skeleton-header{justify-content:space-between;align-items:center;display:flex}.skeleton-title-group{flex-direction:column;flex-grow:1;gap:.5rem;max-width:60%;display:flex}.skeleton-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}@media (width<=768px){.pr-details-grid,.skeleton-grid{grid-template-columns:1fr}.search-form{flex-direction:column}.search-btn{justify-content:center;padding:1.1rem}.pr-card-header{flex-direction:column;align-items:stretch}.status-badge{align-self:flex-start}}.pr-timeline-container{border:1px solid var(--card-border);border-radius:var(--border-radius-sm);background:#f8fafc;flex-direction:column;gap:1rem;margin-top:1rem;padding:1.5rem;display:flex}.timeline-steps{justify-content:space-between;margin-top:1rem;display:flex;position:relative}.timeline-line{z-index:0;background:#e2e8f0;height:4px;position:absolute;top:12px;left:0;right:0}.timeline-line-fill{z-index:0;background:#22c55e;height:4px;transition:width .4s;position:absolute;top:12px;left:0}.timeline-step{z-index:1;text-align:center;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step-dot{color:#64748b;width:28px;height:28px;box-shadow:var(--shadow-sm);background:#e2e8f0;border:3px solid #f1f5f9;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;transition:all .3s;display:flex}.timeline-step.completed .step-dot{color:#fff;background:#22c55e;border-color:#dcfce7}.timeline-step.active .step-dot{background:var(--primary-color);border-color:var(--primary-light);color:#fff;box-shadow:0 0 0 4px #0284c733}.step-label{color:var(--text-primary);margin-top:.75rem;font-size:.8rem;font-weight:700}.step-date{color:var(--text-secondary);margin-top:.15rem;font-size:.75rem;font-weight:500}.step-label-group{flex-direction:column;align-items:center;display:flex}@media (width<=768px){.timeline-steps{flex-direction:column;align-items:flex-start;gap:1.5rem;padding-left:.5rem}.timeline-line{width:4px;height:100%;top:0;bottom:0;left:12px}.timeline-line-fill{width:4px;height:0;transition:height .4s;top:0;left:12px}.timeline-step{text-align:left;flex-direction:row;align-items:flex-start;gap:1.25rem;width:100%}.step-label-group{align-items:flex-start;margin-top:2px}.step-label{margin-top:0}}
