@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&family=Quicksand:wght@500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #FFFDF7;--bg2: #F5F7FA;--bg3: #fff;--tx: #1A2332;--tx2: #5A6978;--tx3: #8A95A3;--bd: #E8ECF0;--bd2: #F0F2F5;--gr: #0D9B6A;--grd: #0D6B47;--grL: #E8F8F2;--grL2: #F0FBF6;--cream: #FFFDF7;--card: #fff;--hero-bg: linear-gradient(135deg, #FFFDF7 0%, #E8F8F2 100%)}body{font-family:Nunito,sans-serif;background:var(--bg);color:var(--tx);min-height:100vh}#root,.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;border-bottom:1px solid var(--bd);background:var(--bg)}.logo{display:flex;align-items:center;gap:8px}.logo-icon{width:32px;height:32px;object-fit:contain;border-radius:8px}.logo-text{font-size:20px;font-weight:800;color:var(--grd)}.nav-links{display:flex;gap:16px;align-items:center}.nav-link{font-size:14px;color:var(--tx2);cursor:pointer;font-weight:600;padding:4px 0;border-bottom:2px solid transparent;transition:all .2s;text-decoration:none}.nav-link:hover,.nav-link.active{color:var(--gr);border-bottom-color:var(--gr)}.nav-cta{padding:7px 18px;background:var(--gr);color:#fff;border-radius:20px;font-size:14px;font-weight:700;cursor:pointer;border:none;font-family:Nunito;text-decoration:none}.nav-cta:hover{background:var(--grd)}.hero{background:var(--hero-bg);padding:48px 40px;display:flex;gap:48px;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:480px}.hero-text{flex:1;z-index:1;max-width:520px}.hero-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;background:var(--grL);font-size:13px;font-weight:700;color:var(--gr);margin-bottom:12px}.hero-title{font-family:Quicksand,sans-serif;font-size:38px;font-weight:700;color:var(--tx);line-height:1.25}.hero-title em{font-style:normal;color:var(--gr)}.hero-desc{font-size:17px;color:var(--tx2);margin-top:14px;line-height:1.7;max-width:420px}.hero-btns{display:flex;gap:10px;margin-top:24px}.hero-btn-primary{padding:13px 28px;background:var(--gr);color:#fff;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;border:none;font-family:Nunito;text-decoration:none;display:flex;align-items:center;gap:6px;transition:background .2s}.hero-btn-primary:hover{background:var(--grd)}.hero-btn-secondary{padding:13px 28px;background:var(--card);color:var(--tx);border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;border:1.5px solid var(--bd);font-family:Nunito;text-decoration:none;transition:border-color .2s}.hero-btn-secondary:hover{border-color:var(--gr)}.hero-mockup{flex-shrink:0;z-index:1}.mockup-phone{width:280px;background:var(--card);border-radius:32px;border:2.5px solid var(--bd);box-shadow:0 20px 60px #0d6b471f,0 8px 24px #0000000f;padding:14px 16px 20px;display:flex;flex-direction:column}.mockup-notch{width:100px;height:6px;border-radius:3px;background:var(--bd);margin:0 auto 14px}.mockup-header{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--bd2);margin-bottom:12px}.mockup-logo{width:24px;height:24px;border-radius:6px}.mockup-header-title{font-size:16px;font-weight:800;color:var(--grd);flex:1}.mockup-header-bell{font-size:16px}.mockup-greeting{font-size:18px;font-weight:800;color:var(--tx)}.mockup-subtitle{font-size:13px;color:var(--tx2);margin-top:2px;margin-bottom:14px}.mockup-pet-card{display:flex;gap:10px;padding:10px;background:var(--grL2);border-radius:14px;border:1.5px solid var(--grL);margin-bottom:14px}.mockup-pet-avatar{width:44px;height:44px;border-radius:50%;background:var(--grL);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.mockup-pet-info{flex:1;min-width:0}.mockup-pet-name{font-size:15px;font-weight:700;color:var(--tx)}.mockup-pet-breed{font-size:12px;color:var(--tx2)}.mockup-pet-tags{display:flex;gap:4px;margin-top:5px}.mockup-tag{padding:2px 6px;border-radius:5px;font-size:10px;font-weight:700}.mockup-tag.green{background:var(--grL);color:var(--grd)}.mockup-tag.blue{background:#ebf5fb;color:#21618c}.mockup-section-title{font-size:13px;font-weight:700;color:var(--tx2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.mockup-appointment{display:flex;gap:10px;align-items:center;padding:10px;background:var(--bg2);border-radius:12px;margin-bottom:14px}.mockup-appt-date{width:40px;height:42px;border-radius:10px;background:var(--gr);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.mockup-appt-day{font-size:18px;font-weight:800;line-height:1}.mockup-appt-month{font-size:10px;font-weight:700;text-transform:uppercase}.mockup-appt-info{flex:1;min-width:0}.mockup-appt-name{font-size:13px;font-weight:700;color:var(--tx)}.mockup-appt-type{font-size:11px;color:var(--tx2)}.mockup-appt-time{font-size:11px;color:var(--tx2);margin-top:2px}.mockup-appt-status{font-size:10px;font-weight:700;color:var(--gr);background:var(--grL);padding:3px 7px;border-radius:6px;flex-shrink:0}.mockup-services{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mockup-service{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--bg2);border-radius:10px;font-size:12px;font-weight:700;color:var(--tx);cursor:pointer;transition:background .2s}.mockup-service:hover{background:var(--grL)}.mockup-service span{font-size:16px}.trust-bar{display:flex;justify-content:space-around;padding:18px 28px;background:var(--grL2);border-top:1px solid var(--grL);border-bottom:1px solid var(--grL)}.trust-item{text-align:center}.trust-number{font-family:Quicksand;font-size:24px;font-weight:700;color:var(--gr)}.trust-label{font-size:13px;color:var(--tx2);font-weight:600;margin-top:1px}.features-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:24px 28px;background:var(--bg)}.feature-card{padding:18px;border-radius:14px;border:1.5px solid var(--bd2);background:var(--card);transition:border-color .2s,transform .2s}.feature-card:hover{border-color:var(--gr);transform:translateY(-2px)}.feature-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;font-size:20px}.feature-title{font-size:15px;font-weight:700;color:var(--tx)}.feature-desc{font-size:13px;color:var(--tx2);margin-top:3px;line-height:1.6}.cta-bar{display:flex;align-items:center;justify-content:center;gap:20px;padding:24px 28px;background:var(--grd)}.cta-text{font-family:Quicksand;font-size:18px;font-weight:700;color:#fff}.cta-btn{padding:10px 24px;background:#fff;color:var(--grd);border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;border:none;font-family:Nunito;text-decoration:none}.footer{padding:14px 28px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--bd);background:var(--bg);margin-top:auto}.footer-left{font-size:12px;color:var(--tx3)}.footer-links{display:flex;gap:12px}.footer-link{font-size:12px;color:var(--tx2);text-decoration:none;font-weight:600;cursor:pointer}.vet-hero{background:var(--hero-bg);padding:36px 28px;text-align:center;flex:1}.vet-title{font-family:Quicksand;font-size:26px;font-weight:700;color:var(--tx)}.vet-title em{font-style:normal;color:var(--gr)}.vet-desc{font-size:15px;color:var(--tx2);margin-top:8px;max-width:500px;display:inline-block;line-height:1.7}.vet-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:24px 28px;background:var(--bg)}.vet-step{padding:18px;border-radius:14px;border:1.5px solid var(--bd2);background:var(--card);text-align:center}.vet-step-number{width:32px;height:32px;border-radius:50%;background:var(--grL);color:var(--gr);font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}.vet-step-title{font-size:15px;font-weight:700;color:var(--tx)}.vet-step-desc{font-size:13px;color:var(--tx2);margin-top:4px;line-height:1.5}.vet-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 28px 24px;background:var(--bg)}.vet-benefit{display:flex;gap:10px;padding:16px;border-radius:14px;border:1.5px solid var(--bd2);background:var(--card)}.vet-benefit-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}.vet-benefit-title{font-size:15px;font-weight:700;color:var(--tx)}.vet-benefit-desc{font-size:13px;color:var(--tx2);margin-top:2px;line-height:1.5}.about-section{padding:36px 28px;background:var(--bg);flex:1}.about-title{font-family:Quicksand;font-size:24px;font-weight:700;color:var(--tx);text-align:center}.about-desc{font-size:15px;color:var(--tx2);text-align:center;margin-top:8px;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.7}.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}.about-card{padding:20px;border-radius:14px;border:1.5px solid var(--bd2);background:var(--card);text-align:center}.about-card-icon{font-size:30px;margin-bottom:8px}.about-card-title{font-size:16px;font-weight:700;color:var(--tx)}.about-card-desc{font-size:13px;color:var(--tx2);margin-top:4px;line-height:1.6}.login-wrapper{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px);background:var(--bg)}.login-box{width:360px;background:var(--card);border-radius:18px;padding:28px;border:1.5px solid var(--bd)}.login-header{font-size:20px;font-weight:700;color:var(--tx);text-align:center;margin-top:12px}.login-sub{font-size:14px;color:var(--tx2);text-align:center;margin-top:3px}.login-field{margin-bottom:12px}.login-field label{font-size:13px;font-weight:600;color:var(--tx2);display:block;margin-bottom:3px}.login-field input{width:100%;padding:10px 12px;border-radius:10px;border:1.5px solid var(--bd);font-size:14px;font-family:Nunito;color:var(--tx);background:var(--bg2);outline:none}.login-field input:focus{border-color:var(--gr)}.login-btn{width:100%;padding:12px;background:var(--gr);color:#fff;border:none;border-radius:11px;font-size:15px;font-weight:700;cursor:pointer;font-family:Nunito;margin-top:4px}.login-btn:hover{background:var(--grd)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{background:#fdecea;color:#922b21;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;margin-bottom:12px;text-align:center}.login-logo{text-align:center;margin-bottom:8px}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:210px;background:var(--cream);border-right:1.5px solid var(--bd);padding:12px 0;flex-shrink:0;display:flex;flex-direction:column}.sidebar-overlay,.sidebar-close{display:none}.sidebar-logo{padding:0 14px 12px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--bd);margin-bottom:4px}.sidebar-logo-text{font-size:16px;font-weight:800;color:var(--grd)}.sidebar-item{padding:8px 14px;font-size:14px;color:var(--tx2);cursor:pointer;display:flex;align-items:center;gap:7px;font-weight:600;border-left:3px solid transparent;transition:all .12s}.sidebar-item:hover{background:var(--grL)}.sidebar-item.active{color:var(--gr);background:var(--grL);border-left-color:var(--gr)}.sidebar-logout{margin-top:auto;padding:10px 14px;font-size:13px;font-weight:700;color:#922b21;background:#fdecea;cursor:pointer;display:flex;align-items:center;gap:8px;border-top:1px solid var(--bd);transition:background .15s}.sidebar-logout:hover{background:#fbd8d4}.admin-main{flex:1;padding:18px 24px;background:var(--bg3);overflow:auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.admin-title{font-size:18px;font-weight:800;color:var(--tx)}.admin-back{font-size:14px;color:var(--gr);cursor:pointer;font-weight:700;display:flex;align-items:center;gap:4px;background:none;border:none;font-family:Nunito}.mobile-menu-btn{display:none;flex-direction:column;gap:4px;padding:8px;background:none;border:1.5px solid var(--bd);border-radius:8px;cursor:pointer;margin-bottom:12px}.mobile-menu-btn span{display:block;width:18px;height:2px;background:var(--tx);border-radius:1px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.metric-card{padding:12px;background:var(--card);border-radius:10px;border:1px solid var(--bd2)}.metric-label{font-size:12px;color:var(--tx2);font-weight:600}.metric-value{font-size:22px;font-weight:800;color:var(--tx);margin-top:3px}.metric-change{font-size:12px;margin-top:1px;font-weight:600}.metric-up{color:var(--gr)}.metric-down{color:#e74c3c}.request-card{background:var(--card);border:1.5px solid var(--bd2);border-radius:12px;padding:14px;margin-bottom:10px;cursor:pointer;transition:border-color .2s}.request-card:hover{border-color:var(--gr)}.request-header{display:flex;align-items:center;gap:10px}.request-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.request-name{font-size:15px;font-weight:700;color:var(--tx)}.request-sub{font-size:13px;color:var(--tx2);margin-top:1px}.request-right{margin-left:auto;text-align:right}.request-date{font-size:12px;color:var(--tx3);margin-top:2px}.pill{padding:2px 8px;border-radius:7px;font-size:11px;font-weight:700}.pill-pending{background:#fef5e7;color:#8b6914}.pill-approved{background:var(--grL);color:var(--grd)}.pill-rejected{background:#fdecea;color:#922b21}.pill-review{background:#ebf5fb;color:#21618c}.detail-top{display:flex;gap:16px;padding-bottom:16px;border-bottom:1.5px solid var(--bd2);margin-bottom:16px}.detail-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0}.detail-name{font-size:20px;font-weight:800;color:var(--tx)}.detail-sub{font-size:14px;color:var(--tx2);margin-top:2px}.detail-badges{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.detail-badge{padding:3px 10px;border-radius:8px;font-size:12px;font-weight:700}.section{margin-bottom:16px}.section-title{font-size:15px;font-weight:700;color:var(--tx);margin-bottom:8px;display:flex;align-items:center;gap:6px}.section-title svg{width:16px;height:16px;fill:none;stroke:var(--gr);stroke-width:2;stroke-linecap:round}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.info-item{padding:10px 12px;background:var(--bg2);border-radius:10px}.info-label{font-size:12px;color:var(--tx2);font-weight:600}.info-value{font-size:14px;font-weight:700;color:var(--tx);margin-top:2px}.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.doc-card{padding:12px;border-radius:10px;border:1.5px solid var(--bd2);text-align:center;cursor:pointer;transition:border-color .2s}.doc-card:hover,.doc-card.sent{border-color:var(--gr)}.doc-card.missing{border-color:#e74c3c}.doc-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;font-size:18px}.doc-name{font-size:13px;font-weight:700;color:var(--tx)}.doc-status{font-size:12px;margin-top:3px;font-weight:700}.doc-status.sent{color:var(--gr)}.doc-status.missing{color:#e74c3c}.doc-viewer{background:var(--bg2);border-radius:12px;padding:16px;margin-top:8px}.doc-viewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.doc-viewer-title{font-size:15px;font-weight:700;color:var(--tx)}.doc-viewer-close{font-size:13px;color:var(--tx2);cursor:pointer;font-weight:600;background:none;border:none;font-family:Nunito}.doc-preview{width:100%;height:200px;background:var(--card);border-radius:8px;border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--tx3);overflow:hidden}.doc-preview img{max-width:100%;max-height:100%;object-fit:contain}.doc-actions{display:flex;gap:6px;margin-top:10px}.checklist{display:flex;flex-direction:column;gap:6px}.checklist-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px}.checklist-item.ok{background:var(--grL)}.checklist-item.ok .checklist-icon{color:var(--gr)}.checklist-item.ok .checklist-text{color:var(--grd)}.checklist-item.fail{background:#fdecea}.checklist-item.fail .checklist-icon{color:#e74c3c}.checklist-item.fail .checklist-text{color:#922b21}.checklist-icon{font-weight:700}.checklist-text{font-size:14px;font-weight:600}.timeline{padding-left:20px;border-left:2px solid var(--bd2)}.timeline-item{padding:8px 0 8px 14px;position:relative}.timeline-item:before{content:"";position:absolute;left:-26px;top:12px;width:10px;height:10px;border-radius:50%;background:var(--bd2)}.timeline-item.done:before{background:var(--gr)}.timeline-item.current:before{background:#f5b041;box-shadow:0 0 0 3px #fef5e7}.timeline-item.waiting:before{background:var(--bd)}.timeline-title{font-size:14px;font-weight:700;color:var(--tx)}.timeline-desc{font-size:13px;color:var(--tx2);margin-top:1px}.action-bar{display:flex;gap:8px;padding:16px 0;border-top:1.5px solid var(--bd2);margin-top:16px}.btn{padding:8px 20px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;border:none;font-family:Nunito;transition:opacity .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-green{background:var(--gr);color:#fff}.btn-green:hover:not(:disabled){background:var(--grd)}.btn-red{background:#fdecea;color:#922b21}.btn-red:hover:not(:disabled){background:#fbd8d4}.btn-gray{background:var(--bg2);color:var(--tx2)}.btn-gray:hover:not(:disabled){background:var(--bd)}.btn-blue{background:#ebf5fb;color:#21618c}.btn-blue:hover:not(:disabled){background:#d4e6f1}.btn-sm{padding:5px 12px;font-size:12px;border-radius:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal-box{background:var(--card);border-radius:16px;padding:24px;width:380px;max-width:90vw;text-align:center}.modal-icon{width:48px;height:48px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:24px}.modal-title{font-size:18px;font-weight:700;color:var(--tx)}.modal-desc{font-size:14px;color:var(--tx2);margin-top:6px;line-height:1.6}.modal-textarea{width:100%;padding:10px 12px;border-radius:10px;border:1.5px solid var(--bd);font-size:14px;font-family:Nunito;color:var(--tx);background:var(--bg2);margin-top:12px;min-height:80px;resize:vertical;outline:none}.modal-textarea:focus{border-color:var(--gr)}.modal-actions{display:flex;gap:8px;justify-content:center;margin-top:14px}.quick-reasons{margin-top:8px;text-align:left}.quick-reasons-title{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:6px}.quick-reasons-list{display:flex;gap:4px;flex-wrap:wrap}.quick-reason{padding:4px 10px;border-radius:8px;background:var(--bg2);font-size:12px;color:var(--tx2);cursor:pointer;font-weight:600;border:none;font-family:Nunito;transition:background .2s}.quick-reason:hover{background:var(--bd)}.modal-content{background:var(--card);border-radius:16px;width:520px;max-width:95vw;max-height:85vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--bd);position:sticky;top:0;background:var(--card);z-index:1}.modal-close{background:none;border:none;font-size:18px;color:var(--tx2);cursor:pointer;padding:4px 8px;border-radius:6px}.modal-close:hover{background:var(--bg2);color:var(--tx)}.specialty-detail-body{padding:16px 20px 20px}.specialty-section{margin-bottom:18px}.specialty-section:last-child{margin-bottom:0}.specialty-section-title{font-size:13px;font-weight:800;color:var(--tx2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.specialty-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.specialty-info-item{display:flex;flex-direction:column;gap:2px}.specialty-info-label{font-size:12px;font-weight:700;color:var(--tx3)}.specialty-info-value{font-size:14px;font-weight:600;color:var(--tx)}.specialty-certificate-link{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;background:var(--bg2);color:var(--gr);font-size:14px;font-weight:700;text-decoration:none;transition:background .2s}.specialty-certificate-link:hover{background:var(--grL)}.specialty-actions{display:flex;gap:8px;margin-top:8px}.specialty-reject-form{display:flex;flex-direction:column;gap:8px}.filter-tabs{display:flex;gap:6px;margin-bottom:14px}.filter-tab{padding:5px 14px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;border:1.5px solid var(--bd);background:var(--bg3);color:var(--tx2);font-family:Nunito;transition:all .2s}.filter-tab.active{background:var(--gr);color:#fff;border-color:var(--gr)}.filter-tab .filter-count{font-size:11px;margin-left:4px;padding:1px 5px;border-radius:5px;background:#fff3}.search-bar{position:relative;margin-bottom:14px}.search-bar-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--tx3);pointer-events:none}.search-bar-input{width:100%;padding:9px 36px;border-radius:10px;border:1.5px solid var(--bd);background:var(--card);color:var(--tx);font-size:13px;font-family:Nunito;font-weight:600;outline:none;transition:border-color .2s;box-sizing:border-box}.search-bar-input:focus{border-color:var(--gr)}.search-bar-input::placeholder{color:var(--tx3);font-weight:500}.search-bar-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:14px;color:var(--tx3);cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1}.search-bar-clear:hover{color:var(--tx);background:var(--bg2)}.toast{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:700;font-family:Nunito;z-index:200;animation:slideIn .3s ease}.toast-success{background:var(--gr);color:#fff}.toast-error{background:#e74c3c;color:#fff}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.loading-container{display:flex;align-items:center;justify-content:center;min-height:200px}.spinner{width:32px;height:32px;border:3px solid var(--bd);border-top-color:var(--gr);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:40px 20px;color:var(--tx3)}.empty-state-icon{font-size:42px;margin-bottom:12px}.empty-state-text{font-size:16px;font-weight:600}.empty-state-sub{font-size:14px;margin-top:4px}.pending-card{display:flex;align-items:center;gap:14px;padding:16px;background:#fef5e7;border:1.5px solid #F5D78E;border-radius:12px;cursor:pointer;transition:border-color .2s}.pending-card:hover{border-color:#d4a017}.pending-count{font-size:30px;font-weight:800;color:#d4a017}.pending-text{flex:1}.pending-title{font-size:15px;font-weight:700;color:var(--tx)}.pending-sub{font-size:13px;color:var(--tx2);margin-top:2px}.pending-arrow{font-size:20px;color:#d4a017;font-weight:700}.review-info-bar{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#ebf5fb;border:1.5px solid #AED6F1;border-radius:10px;font-size:14px;color:#21618c;font-weight:600;margin-bottom:16px}.review-info-icon{font-size:18px}.analysis-progress{display:flex;gap:4px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.analysis-progress-step{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;border-radius:8px;background:var(--bg2);cursor:pointer;transition:all .2s;flex:1 1 0;min-width:0;border:1.5px solid transparent}.analysis-progress-step.current{background:#ebf5fb;border-color:#aed6f1}.analysis-progress-step.done{background:var(--grL)}.analysis-progress-step.approved{background:var(--grL);border-color:var(--gr)}.analysis-progress-step.rejected{background:#fdecea;border-color:#e74c3c}.analysis-progress-icon{font-size:18px}.analysis-progress-label{font-size:10px;font-weight:700;color:var(--tx2);text-align:center;line-height:1.2}.analysis-content{animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.analysis-check{margin-top:16px;padding:14px;background:var(--bg2);border-radius:10px}.analysis-check-label{font-size:14px;font-weight:700;color:var(--tx);margin-bottom:8px;text-align:center}.analysis-check-buttons{display:flex;gap:8px}.analysis-check-btn{flex:1;padding:8px 24px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;font-family:Nunito;transition:all .2s;border:2px solid var(--bd);background:var(--card);color:var(--tx2)}.analysis-check-btn.ok:hover,.analysis-check-btn.ok.active{background:var(--grL);border-color:var(--gr);color:var(--grd)}.analysis-check-btn.fail:hover,.analysis-check-btn.fail.active{background:#fdecea;border-color:#e74c3c;color:#922b21}.doc-review-card{background:var(--bg2);border-radius:12px;overflow:hidden}.doc-review-preview{width:100%;min-height:250px;max-height:400px;background:var(--card);display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--bd)}.doc-review-preview img{max-width:100%;max-height:400px;width:auto;height:auto;object-fit:contain}.doc-review-actions{display:flex;gap:8px;padding:12px}.doc-preview-placeholder{font-size:14px;color:var(--tx3)}.doc-not-sent{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px;background:#fdecea;border-radius:12px;border:1.5px dashed #E74C3C}.doc-not-sent-icon{font-size:30px;color:#e74c3c}.doc-not-sent-text{font-size:14px;font-weight:700;color:#922b21}.analysis-summary{margin-bottom:16px}.analysis-summary-list{display:flex;flex-direction:column;gap:6px}.analysis-summary-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;font-size:14px}.analysis-summary-item.ok{background:var(--grL)}.analysis-summary-item.fail{background:#fdecea}.analysis-summary-item.pending{background:var(--bg2)}.analysis-summary-icon{font-weight:700;font-size:16px;width:20px;text-align:center}.analysis-summary-item.ok .analysis-summary-icon{color:var(--gr)}.analysis-summary-item.fail .analysis-summary-icon{color:#e74c3c}.analysis-summary-item.pending .analysis-summary-icon{color:var(--tx3)}.analysis-summary-step{font-weight:700;color:var(--tx);flex:1}.analysis-summary-status{font-weight:600;font-size:13px}.analysis-summary-item.ok .analysis-summary-status{color:var(--grd)}.analysis-summary-item.fail .analysis-summary-status{color:#922b21}.analysis-summary-item.pending .analysis-summary-status{color:var(--tx3)}.analysis-warning{padding:14px;background:#fef5e7;border:1.5px solid #F5D78E;border-radius:10px;font-size:14px;font-weight:600;color:#8b6914;text-align:center}.analysis-final{text-align:center;padding:20px;background:var(--bg2);border-radius:12px}.analysis-final-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 10px}.analysis-final-title{font-size:16px;font-weight:700;color:var(--tx)}.analysis-final-desc{font-size:14px;color:var(--tx2);margin-top:4px}.analysis-final .modal-textarea{text-align:left}.analysis-final .action-bar{border:none;margin-top:12px}.rejection-context{width:100%;margin-top:12px;border:1px solid var(--br);border-radius:10px;overflow:hidden}.rejection-context-toggle{padding:10px 14px;font-size:13px;font-weight:600;color:var(--tx);cursor:pointer;background:var(--bg2);list-style:none;display:flex;align-items:center;gap:6px}.rejection-context-toggle::marker,.rejection-context-toggle::-webkit-details-marker{display:none}.rejection-context-toggle:after{content:"▸";margin-left:auto;transition:transform .2s}.rejection-context[open]>.rejection-context-toggle:after{transform:rotate(90deg)}.rejection-context-body{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.rejection-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rejection-context-item{display:flex;flex-direction:column;gap:2px}.rejection-context-label{font-size:11px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.3px}.rejection-context-value{font-size:13px;color:var(--tx)}.rejection-context-rejected{border-top:1px solid var(--br);padding-top:8px}.rejection-context-list{margin:4px 0 0 16px;padding:0;font-size:13px;color:var(--rd, #d32f2f);list-style:none}.rejection-context-list li{margin-bottom:2px}.fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.fullscreen-content{background:var(--card);border-radius:16px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.fullscreen-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--bd)}.fullscreen-title{font-size:16px;font-weight:700;color:var(--tx)}.fullscreen-close{font-size:14px;font-weight:700;color:var(--tx2);cursor:pointer;background:none;border:none;font-family:Nunito}.fullscreen-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--bg2)}.fullscreen-body img{max-width:100%;max-height:70vh;object-fit:contain}.fullscreen-body iframe{width:100%;height:100%;min-height:70vh}.fullscreen-footer{padding:12px 18px;border-top:1px solid var(--bd);display:flex;gap:8px}.metric-card.clickable{cursor:pointer;transition:border-color .2s,transform .2s}.metric-card.clickable:hover{border-color:var(--gr);transform:translateY(-2px)}.doc-card{position:relative}.doc-card-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .2s}.doc-card:hover .doc-card-actions{opacity:1}.doc-action-btn{width:28px;height:28px;border-radius:7px;border:none;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:transform .15s}.doc-action-btn:hover{transform:scale(1.12)}.doc-action-btn.view{background:#ebf5fb;color:#21618c}.doc-action-btn.download{background:var(--gr);color:#fff}.settings-section{max-width:600px}.settings-card{background:var(--card);border:1.5px solid var(--bd2);border-radius:14px;overflow:hidden}.settings-card-header{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--bd2);background:var(--bg2)}.settings-card-icon{font-size:22px}.settings-card-title{font-size:15px;font-weight:700;color:var(--tx)}.settings-card-desc{font-size:13px;color:var(--tx2);margin-top:1px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:16px}.settings-row+.settings-row{border-top:1px solid var(--bd2)}.settings-row-label{font-size:14px;font-weight:700;color:var(--tx)}.settings-row-desc{font-size:13px;color:var(--tx2);margin-top:2px}.theme-toggle{width:52px;height:28px;border-radius:14px;background:var(--bd);border:none;cursor:pointer;position:relative;transition:background .25s;flex-shrink:0}.theme-toggle.active{background:var(--gr)}.theme-toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .25s;box-shadow:0 1px 4px #0003;display:flex;align-items:center;justify-content:center;font-size:12px}.theme-toggle.active .theme-toggle-knob{left:27px}[data-theme=dark]{--bg: #1A1E2E;--bg2: #232838;--bg3: #1E2233;--tx: #E8ECF0;--tx2: #A0AAB8;--tx3: #6B7585;--bd: #2E3548;--bd2: #283040;--gr: #10B981;--grd: #059669;--grL: #0D3D2E;--grL2: #0A2E22;--cream: #1A1E2E;--card: #232838;--hero-bg: linear-gradient(135deg, #1A1E2E 0%, #0D3D2E 100%)}[data-theme=dark] .pill-pending{background:#3d2f0d;color:#f5d78e}[data-theme=dark] .pill-rejected{background:#3d1515;color:#f1948a}[data-theme=dark] .pill-review{background:#152a3d;color:#85c1e9}[data-theme=dark] .login-error{background:#3d1515;color:#f1948a}[data-theme=dark] .pending-card{background:#2a2310;border-color:#5a4a1a}[data-theme=dark] .pending-count{color:#f5d78e}[data-theme=dark] .review-info-bar{background:#152a3d;border-color:#1a3a5c;color:#85c1e9}[data-theme=dark] .analysis-check-btn.fail:hover,[data-theme=dark] .analysis-check-btn.fail.active{background:#3d1515;color:#f1948a;border-color:#922b21}[data-theme=dark] .doc-not-sent{background:#3d1515;border-color:#922b21}[data-theme=dark] .doc-not-sent-text{color:#f1948a}[data-theme=dark] .analysis-warning{background:#2a2310;border-color:#5a4a1a;color:#f5d78e}[data-theme=dark] .analysis-summary-item.fail{background:#3d1515}[data-theme=dark] .analysis-summary-item.fail .analysis-summary-status{color:#f1948a}[data-theme=dark] .btn-red{background:#3d1515;color:#f1948a}[data-theme=dark] .btn-red:hover:not(:disabled){background:#501b1b}[data-theme=dark] .btn-blue{background:#152a3d;color:#85c1e9}[data-theme=dark] .btn-blue:hover:not(:disabled){background:#1a3a5c}[data-theme=dark] .btn-gray{background:#283040;color:var(--tx2)}[data-theme=dark] .btn-gray:hover:not(:disabled){background:#2e3548}@media(max-width:768px){.admin-sidebar{position:fixed;top:0;left:-260px;width:240px;height:100vh;z-index:150;transition:left .25s ease;box-shadow:none}.admin-sidebar.open{left:0;box-shadow:4px 0 24px #00000026}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:140}.sidebar-close{display:block;margin-left:auto;background:none;border:none;font-size:18px;color:var(--tx2);cursor:pointer;padding:4px}.mobile-menu-btn{display:flex}.admin-main{padding:14px 12px}.admin-header{flex-direction:column;align-items:flex-start;gap:6px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:1fr}.doc-grid{grid-template-columns:repeat(2,1fr)}.filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;flex-wrap:nowrap}.filter-tab{flex-shrink:0}.request-header{flex-wrap:wrap}.request-right{margin-left:0;text-align:left;margin-top:6px;width:100%;display:flex;align-items:center;gap:8px}.detail-top{flex-direction:column;align-items:flex-start;gap:10px}.detail-avatar{width:48px;height:48px;font-size:20px}.detail-name{font-size:18px}.action-bar{flex-wrap:wrap}.action-bar .btn{flex:1;min-width:120px;text-align:center}.analysis-progress{gap:3px}.analysis-progress-step{min-width:54px;padding:6px 4px;flex:0 0 auto}.analysis-progress-icon{font-size:16px}.analysis-progress-label{font-size:9px}.doc-review-preview{min-height:180px;max-height:280px}.doc-review-actions{flex-direction:column}.fullscreen-content{max-width:100%;max-height:95vh;border-radius:10px}.fullscreen-overlay{padding:8px}.login-box{width:100%;max-width:360px;margin:0 16px}.modal-box{width:100%;margin:0 12px}.toast{left:12px;right:12px;bottom:12px;text-align:center}}@media(max-width:480px){.metrics-grid,.doc-grid{grid-template-columns:1fr}.analysis-check-buttons{flex-direction:column}.detail-badges{gap:4px}.detail-badge{font-size:11px;padding:2px 8px}}
