*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:20px;color:#667eea}.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card{background:#fff;border-radius:16px;padding:40px;box-shadow:0 10px 40px #0003;width:100%;max-width:450px}.auth-card h1{font-size:28px;text-align:center;margin-bottom:10px;color:#333;font-weight:700}.auth-card h2{font-size:22px;text-align:center;margin-bottom:10px;color:#666;font-weight:500}.auth-notice{text-align:center;margin-bottom:20px;padding:10px 16px;background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7;border-radius:8px;font-size:14px;font-weight:500}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:20px;font-size:14px;text-align:center}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-weight:600;color:#333;font-size:14px}.form-group input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.field-error{color:#c33;font-size:13px;margin-top:-4px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.auth-link{text-align:center;margin-top:20px;color:#666;font-size:14px}.auth-link a{color:#667eea;text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}.shop{min-height:100vh;background:#f5f5f5}.shop-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.shop-header h1{margin:0;font-size:1.8rem}.user-info{display:flex;align-items:center;gap:1rem}.points-display{background:#fff3;padding:.5rem 1rem;border-radius:20px;font-size:1.1rem}.points-display strong{color:gold;font-size:1.3rem}.shop-nav{background:#fff;padding:1rem 2rem;border-bottom:1px solid #e0e0e0}.shop-nav a{color:#667eea;text-decoration:none;font-weight:500}.shop-nav a:hover{text-decoration:underline}.shop-content{max-width:1200px;margin:0 auto;padding:2rem}.products-section h2{margin-bottom:1.5rem;color:#333}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.product-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.product-image{position:relative;width:100%;height:200px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.product-image img{width:100%;height:100%;object-fit:cover}.placeholder-image{font-size:4rem}.badge-featured{position:absolute;top:10px;right:10px;background:#ff6b6b;color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-weight:700}.product-info{padding:1.5rem}.product-name{margin:0 0 .5rem;font-size:1.3rem;color:#333}.product-description{color:#666;font-size:.9rem;margin-bottom:1rem}.product-meta{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:.85rem;color:#888}.product-category{background:#f0f0f0;padding:.3rem .6rem;border-radius:12px}.product-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.product-price{font-size:1.2rem;font-weight:700;color:#667eea}.btn-redeem{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:20px;cursor:pointer;font-weight:500;transition:opacity .2s}.btn-redeem:hover:not(:disabled){opacity:.9}.btn-redeem:disabled{background:#ccc;cursor:not-allowed}.btn-logout{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:20px;cursor:pointer;transition:background .2s}.btn-logout:hover{background:#ffffff4d}.modal-content{background:#fff;padding:2rem;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content h2{margin:0 0 1.5rem;color:#333}.modal-body{margin-bottom:1.5rem}.redeem-product-info{background:#f5f5f5;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.redeem-product-info h3{margin:0 0 .5rem;color:#667eea}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#555}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.text-warning{color:#ff6b6b}.redeem-summary{background:#f9f9f9;padding:1rem;border-radius:8px;margin-top:1rem}.redeem-summary p{margin:.5rem 0;font-size:1.1rem}.modal-footer{display:flex;gap:1rem;justify-content:flex-end}.btn-cancel,.btn-confirm{padding:.7rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:opacity .2s}.btn-cancel{background:#f0f0f0;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-confirm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-confirm:hover:not(:disabled){opacity:.9}.btn-confirm:disabled{background:#ccc;cursor:not-allowed}.empty-message{text-align:center;color:#999;padding:2rem;grid-column:1 / -1}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.2rem;color:#667eea}.temples-page h1{margin:0;font-size:22px}.temples-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.temples-table{width:100%;border-collapse:collapse}.temples-table th,.temples-table td{padding:12px 10px;border-bottom:1px solid #e5e7eb;text-align:left}.temples-table th{background:#f9fafb;font-weight:600;color:#374151}.temples-table tbody tr:hover{background:#f3f4f6}.badge{padding:4px 8px;border-radius:999px;font-size:12px}.badge.success{background:#dcfce7;color:#166534}.badge.muted{background:#e5e7eb;color:#4b5563}.pagination{display:flex;align-items:center;gap:10px;margin-top:12px}.pagination button{padding:6px 10px;border-radius:6px;border:1px solid #d1d5db;background:#fff;cursor:pointer}.pagination button:disabled{opacity:.5;cursor:not-allowed}.temple-form{display:flex;flex-direction:column;gap:10px}.temple-form label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:#374151}.temple-form input,.temple-form textarea,.temple-form select{padding:8px 10px;border:1px solid #d1d5db;border-radius:8px}.rewards-page h1{margin:0;font-size:22px}.rewards-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.subtitle{color:#6b7280;font-size:14px;margin-top:4px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.filters input,.filters select{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px}.btn-primary{background:#2563eb;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer}.btn-secondary{border:1px solid #d1d5db;background:#fff;padding:8px 12px;border-radius:6px;cursor:pointer}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.rewards-table{width:100%;border-collapse:collapse}.rewards-table th,.rewards-table td{padding:12px 10px;border-bottom:1px solid #e5e7eb;text-align:left}.rewards-table th{background:#f9fafb;font-weight:600;color:#374151}.rewards-table tbody tr:hover{background:#f3f4f6}.info,.error,.empty{margin-top:12px;color:#6b7280}.error{color:#b91c1c}.actions{display:flex;gap:8px}.link{background:none;border:none;color:#2563eb;cursor:pointer;padding:0}.link.danger{color:#b91c1c}.form-section{position:sticky;top:0;align-self:start}.form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rewards-form{display:flex;flex-direction:column;gap:10px}.rewards-form label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:#374151}.rewards-form input,.rewards-form textarea,.rewards-form select{padding:8px 10px;border:1px solid #d1d5db;border-radius:8px}.row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.checkbox{flex-direction:row;align-items:center;gap:8px}.btn-primary.full{width:100%;text-align:center}@media(max-width:900px){.content-grid{grid-template-columns:1fr}.form-section{position:static}}.temple-detail{display:flex;flex-direction:column;gap:16px}.header{display:flex;justify-content:space-between;align-items:center}.subtitle{color:#6b7280;margin-top:4px;font-size:14px}.header-actions{display:flex;gap:8px}.btn-primary,.btn-secondary{display:inline-block;padding:8px 12px;border-radius:8px;text-decoration:none;font-weight:600}.btn-primary{background:#2563eb;color:#fff;border:1px solid #1d4ed8}.btn-secondary{background:#fff;color:#1f2937;border:1px solid #d1d5db}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px}.info-list{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;justify-content:space-between;gap:12px}.info-label{color:#6b7280;min-width:100px}.info-value{color:#111827;text-align:right;flex:1}.map-placeholder{margin-top:12px;padding:10px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;text-align:center}.muted{color:#6b7280}.table{margin-top:12px;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.table-head,.tr{display:grid;grid-template-columns:repeat(3,1fr)}.th{background:#f9fafb;font-weight:600;padding:10px 12px;border-bottom:1px solid #e5e7eb;color:#374151}.td{padding:10px 12px;border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:14px}.table-body .tr:last-child .td{border-bottom:none}.admin-layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh;background:#f6f7fb;color:#1f2933}.admin-sidebar{background:#1f2933;color:#f6f7fb;padding:20px 16px}.sidebar-brand{font-weight:700;letter-spacing:.5px;margin-bottom:24px}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.nav-link{padding:10px 12px;border-radius:8px;color:#e5e7eb;text-decoration:none;transition:background .2s ease}.nav-link:hover{background:#ffffff14}.nav-link.active{background:#2563eb;color:#fff}.admin-main{display:flex;flex-direction:column;min-height:100vh}.admin-header{height:60px;background:#fff;border-bottom:1px solid #e5e7eb;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.header-title{font-weight:600}.header-actions{display:flex;align-items:center;gap:12px}.user-name{font-size:14px;color:#4b5563}.btn-ghost{border:1px solid #e5e7eb;background:#fff;color:#111827;padding:6px 12px;border-radius:6px;cursor:pointer}.btn-ghost:hover{background:#f3f4f6}.admin-content{padding:24px;flex:1}@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{grid-row:2}}.temple-admin-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);color:#1f2933}.temple-admin-sidebar{background:linear-gradient(180deg,#1a1a2e,#16213e,#0f3460);color:#f6f7fb;padding:0;box-shadow:4px 0 20px #00000026;position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden}.temple-admin-sidebar::-webkit-scrollbar{width:6px}.temple-admin-sidebar::-webkit-scrollbar-track{background:transparent}.temple-admin-sidebar::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sidebar-brand{display:flex;align-items:center;justify-content:center;gap:12px;font-weight:700;font-size:16px;letter-spacing:1px;padding:28px 20px;margin:0;background:linear-gradient(135deg,#e94560,#ff6b6b);text-align:center;position:relative;overflow:hidden}.sidebar-brand:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.brand-icon{font-size:28px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.brand-text{font-size:15px;text-transform:uppercase;letter-spacing:2px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:20px 12px}.nav-link{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;color:#ffffffb3;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;font-weight:500;position:relative;overflow:hidden}.nav-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:0;background:linear-gradient(135deg,#e94560,#ff6b6b);border-radius:0 4px 4px 0;transition:height .3s ease}.nav-link:hover{background:#ffffff14;color:#fff;transform:translate(4px)}.nav-link:hover:before{height:60%}.nav-link.active{background:linear-gradient(135deg,#e9456033,#ff6b6b1a);color:#fff;font-weight:600}.nav-link.active:before{height:70%}.nav-icon{font-size:18px;width:28px;text-align:center;flex-shrink:0;transition:transform .3s ease}.nav-link:hover .nav-icon{transform:scale(1.15)}.nav-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-link:after{content:"";margin-left:auto;width:8px;height:8px;border-radius:50%;background:transparent;transition:all .3s ease;flex-shrink:0}.nav-link.active:after{background:#e94560;box-shadow:0 0 12px #e94560cc}.temple-admin-main{display:flex;flex-direction:column;min-height:100vh}.temple-admin-header{min-height:70px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.06);padding:0 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 20px #0000000a}.header-info{display:flex;flex-direction:column;gap:4px}.header-title{font-weight:700;font-size:20px;background:linear-gradient(135deg,#1a1a2e,#e94560);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-meta{display:flex;gap:20px;font-size:13px;color:#6b7280}.temple-id,.user-role{display:inline-flex;align-items:center;gap:6px}.temple-id:before{content:"🏛️";font-size:12px}.user-role:before{content:"👤";font-size:12px}.header-actions{display:flex;align-items:center;gap:16px}.user-name{font-size:14px;font-weight:600;color:#374151;padding:8px 16px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:20px}.btn-ghost{border:none;background:transparent;color:#4b5563;padding:10px 18px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;text-decoration:none}.btn-ghost:hover{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#1f2933;transform:translateY(-1px)}.btn-ghost:last-child{color:#e94560}.btn-ghost:last-child:hover{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626}.temple-admin-content{padding:32px;flex:1;max-width:1600px;width:100%;margin:0 auto}.guard-loading,.guard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ec)}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#e94560;border-radius:50%;animation:spin 1s linear infinite}.guard-loading p{margin-top:16px;color:#6b7280;font-size:14px}.error-container{text-align:center;padding:48px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a}.error-container h2{color:#dc2626;margin-bottom:12px}.error-container p{color:#6b7280;margin-bottom:8px}.error-container button{margin-top:20px;padding:12px 32px;background:linear-gradient(135deg,#e94560,#ff6b6b);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease}.error-container button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #e945604d}@media(max-width:1024px){.temple-admin-layout{grid-template-columns:220px 1fr}.temple-admin-content{padding:24px}}@media(max-width:900px){.temple-admin-layout{grid-template-columns:1fr}.temple-admin-sidebar{position:fixed;left:-280px;width:280px;z-index:1000;transition:left .3s ease}.temple-admin-sidebar.open{left:0}.temple-admin-header{padding:0 20px}.temple-admin-content{padding:20px}}@media(max-width:480px){.header-meta,.user-name{display:none}.temple-admin-content{padding:16px}}.temple-admin-dashboard{max-width:1400px;margin:0 auto}.dashboard-title{font-size:28px;font-weight:800;margin-bottom:32px;color:#1a1a2e;position:relative;display:inline-block}.dashboard-title:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:4px;background:linear-gradient(135deg,#e94560,#ff6b6b);border-radius:2px}.dashboard-loading,.dashboard-error{padding:80px 40px;text-align:center;color:#6b7280;background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d}.dashboard-loading:before{content:"";display:block;width:48px;height:48px;margin:0 auto 20px;border:4px solid #e5e7eb;border-top-color:#e94560;border-radius:50%;animation:spin 1s linear infinite}.dashboard-error{color:#dc2626}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px}.stat-card{background:#fff;border:none;border-radius:20px;padding:24px;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:20px;box-shadow:0 4px 20px #0000000d;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#e94560,#ff6b6b);opacity:0;transition:opacity .3s ease}.stat-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001f}.stat-card:hover:before{opacity:1}.stat-card.highlight{background:linear-gradient(135deg,#e94560,#ff6b6b);border:none}.stat-card.highlight:before{display:none}.stat-card.highlight:hover{box-shadow:0 20px 40px #e9456066}.stat-card.highlight .stat-value,.stat-card.highlight .stat-label{color:#fff}.stat-card.highlight .stat-icon{background:#fff3}.stat-icon{font-size:28px;flex-shrink:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:16px}.stat-label{font-size:13px;color:#6b7280;margin-bottom:6px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:32px;font-weight:800;color:#1a1a2e;line-height:1}.summary-section{background:#fff;border:none;border-radius:20px;padding:28px;margin-bottom:32px;box-shadow:0 4px 20px #0000000d}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.summary-item{display:flex;flex-direction:column;gap:8px;text-align:center;padding:20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;transition:all .3s ease}.summary-item:hover{background:linear-gradient(135deg,#eef2ff,#e0e7ff);transform:scale(1.02)}.summary-label{font-size:12px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:28px;font-weight:800;background:linear-gradient(135deg,#1a1a2e,#e94560);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:32px}.dashboard-section{background:#fff;border:none;border-radius:20px;padding:28px;box-shadow:0 4px 20px #0000000d;transition:box-shadow .3s ease}.dashboard-section:hover{box-shadow:0 8px 30px #00000014}.section-title{font-size:18px;font-weight:700;margin-bottom:20px;color:#1a1a2e}.btn-link{background:none;border:none;color:#e94560;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;border-radius:8px;transition:all .3s ease}.btn-link:hover{background:linear-gradient(135deg,#fef2f2,#fee2e2);text-decoration:none}.table-container{overflow-x:auto;border-radius:12px}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:14px 16px;text-align:left;font-weight:700;font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.data-table th:first-child{border-radius:12px 0 0}.data-table th:last-child{border-radius:0 12px 0 0}.data-table td{padding:16px;border-bottom:1px solid #f1f5f9;font-size:14px;color:#334155}.data-table tbody tr{transition:all .2s ease}.data-table tbody tr:hover{background:linear-gradient(135deg,#fef2f2,#fff5f5)}.data-table.compact th,.data-table.compact td{padding:12px 14px;font-size:13px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%}.status-badge.status-pending{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.status-badge.status-pending:before{background:#f59e0b}.status-badge.status-processing{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.status-badge.status-processing:before{background:#3b82f6}.status-badge.status-shipped{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3}.status-badge.status-shipped:before{background:#6366f1}.status-badge.status-completed{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.status-badge.status-completed:before{background:#10b981}.status-badge.status-cancelled{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.status-badge.status-cancelled:before{background:#ef4444}.top-products-list{display:flex;flex-direction:column;gap:12px}.top-products-list .product-item{display:grid;grid-template-columns:50px 1fr auto auto;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:14px;transition:all .3s ease}.top-products-list .product-item:hover{background:linear-gradient(135deg,#eef2ff,#e0e7ff);transform:translate(8px)}.product-rank{font-size:18px;font-weight:800;color:#e94560;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-radius:12px}.product-name{font-weight:600;color:#1a1a2e;font-size:15px}.product-sold{font-size:13px;color:#64748b;font-weight:500}.product-revenue{font-weight:700;color:#e94560;font-size:15px}.alert-section{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #fcd34d;border-radius:20px;padding:28px;margin-bottom:32px}.alert-title{color:#92400e}.alert-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fffc;border-radius:14px;border-left:4px solid #f59e0b;transition:all .3s ease}.alert-item:hover{background:#fff;transform:translate(4px)}.alert-icon{font-size:24px;flex-shrink:0}.alert-message{flex:1;font-size:14px;color:#78350f;font-weight:500}.btn-sm{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-sm:hover{transform:translateY(-2px);box-shadow:0 8px 20px #f59e0b66}.quick-actions{background:#fff;border:none;border-radius:20px;padding:28px;box-shadow:0 4px 20px #0000000d}.actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.action-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid transparent;border-radius:20px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.action-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#e94560,#ff6b6b);opacity:0;transition:opacity .3s ease;z-index:0}.action-card:hover{transform:translateY(-8px);border-color:#e94560;box-shadow:0 20px 40px #e9456033}.action-card:hover:before{opacity:.05}.action-icon{font-size:36px;z-index:1;transition:transform .3s ease}.action-card:hover .action-icon{transform:scale(1.2)}.action-label{font-size:14px;font-weight:600;color:#1a1a2e;z-index:1}.empty-message{text-align:center;padding:48px 20px;color:#94a3b8;font-size:14px;font-weight:500}.empty-message:before{content:"📭";display:block;font-size:48px;margin-bottom:16px}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.actions-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.actions-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}.summary-grid,.actions-grid{grid-template-columns:repeat(2,1fr)}.data-table{font-size:12px}.data-table th,.data-table td{padding:10px 12px}.dashboard-title{font-size:24px}}@media(max-width:480px){.stats-grid,.summary-grid{grid-template-columns:1fr}.actions-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:20px}.stat-value{font-size:26px}.stat-icon{width:50px;height:50px;font-size:24px}.dashboard-section{padding:20px}.action-card{padding:20px 16px}.action-icon{font-size:28px}.action-label{font-size:12px}.top-products-list .product-item{grid-template-columns:40px 1fr;gap:12px}.product-sold,.product-revenue{display:none}}.temple-edit{max-width:1000px;margin:0 auto}.page-header{margin-bottom:32px}.page-title{font-size:28px;font-weight:800;color:#1a1a2e;margin:0 0 12px;position:relative;display:inline-block}.page-title:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:4px;background:linear-gradient(135deg,#e94560,#ff6b6b);border-radius:2px}.page-subtitle{font-size:15px;color:#64748b;margin:16px 0 0}.success-banner,.error-banner{padding:18px 24px;border-radius:16px;margin-bottom:24px;font-size:15px;font-weight:600;display:flex;align-items:center;gap:12px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.success-banner{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:none;box-shadow:0 4px 15px #10b98133}.success-banner:before{content:"✓";width:28px;height:28px;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px}.error-banner{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:none;box-shadow:0 4px 15px #ef444433}.error-banner:before{content:"✕";width:28px;height:28px;background:#ef4444;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px}.edit-form{display:flex;flex-direction:column;gap:28px}.form-section{background:#fff;border:none;border-radius:20px;padding:32px;box-shadow:0 4px 20px #0000000d;transition:all .3s ease}.form-section:hover{box-shadow:0 8px 30px #00000014}.section-title{font-size:18px;font-weight:700;color:#1a1a2e;margin:0 0 28px;padding-bottom:16px;border-bottom:2px solid #f1f5f9;display:flex;align-items:center;gap:12px}.section-title:before{content:"";width:4px;height:24px;background:linear-gradient(135deg,#e94560,#ff6b6b);border-radius:2px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.form-group{display:flex;flex-direction:column;gap:10px}.form-group label{font-size:14px;font-weight:600;color:#374151;display:flex;align-items:center;gap:6px}.field-hint{font-size:13px;color:#94a3b8;margin-top:6px;padding-left:2px}.form-input,.form-textarea{padding:14px 18px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;color:#1a1a2e;transition:all .3s ease;font-family:inherit;background:#f8fafc}.form-input:hover,.form-textarea:hover{border-color:#cbd5e1;background:#fff}.form-input:focus,.form-textarea:focus{outline:none;border-color:#e94560;background:#fff;box-shadow:0 0 0 4px #e945601a}.form-input::placeholder,.form-textarea::placeholder{color:#94a3b8}.form-textarea{resize:vertical;min-height:100px;line-height:1.6}.form-input[type=number]{-moz-appearance:textfield}.form-input[type=number]::-webkit-outer-spin-button,.form-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.image-upload-section{display:flex;flex-direction:column;gap:24px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.image-preview{position:relative;aspect-ratio:4 / 3;border-radius:16px;overflow:hidden;border:3px solid #e2e8f0;transition:all .3s ease;background:#f8fafc}.image-preview:hover{border-color:#e94560;box-shadow:0 8px 25px #e9456033;transform:translateY(-4px)}.image-preview img{width:100%;height:100%;object-fit:cover}.remove-image-btn{position:absolute;top:12px;right:12px;width:36px;height:36px;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;opacity:0;transform:scale(.8)}.image-preview:hover .remove-image-btn{opacity:1;transform:scale(1)}.remove-image-btn:hover{background:linear-gradient(135deg,#e94560,#ff6b6b);transform:scale(1.1)}.upload-control{display:flex;align-items:center}.file-input{display:none}.btn-upload{padding:20px 32px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#64748b;border:3px dashed #cbd5e1;border-radius:16px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:10px}.btn-upload:before{content:"📷";font-size:20px}.btn-upload:hover{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#e94560;color:#e94560;transform:translateY(-2px)}.form-actions{display:flex;justify-content:flex-end;gap:16px;padding:32px;background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d}.btn-primary{padding:16px 40px;background:linear-gradient(135deg,#e94560,#ff6b6b);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #e945604d}.btn-primary:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #e9456066}.btn-primary:active:not(:disabled){transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.loading-message,.error-message{text-align:center;padding:80px 20px;font-size:16px;background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d}.loading-message{color:#64748b}.loading-message:before{content:"";display:block;width:48px;height:48px;margin:0 auto 20px;border:4px solid #e2e8f0;border-top-color:#e94560;border-radius:50%;animation:spin 1s linear infinite}.error-message:before{content:"⚠️";display:block;font-size:48px;margin-bottom:16px}@media(max-width:768px){.page-title{font-size:24px}.page-subtitle{font-size:14px}.form-section{padding:24px;border-radius:16px}.form-grid{grid-template-columns:1fr;gap:20px}.form-group.full-width{grid-column:1}.image-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.form-actions{flex-direction:column;padding:24px}.btn-primary{width:100%;padding:16px}.btn-upload{width:100%;justify-content:center}}@media(max-width:480px){.form-section{padding:20px}.section-title{font-size:16px}.form-input,.form-textarea{padding:12px 14px;font-size:14px}.image-grid{grid-template-columns:1fr 1fr}.image-preview{border-radius:12px}.remove-image-btn{opacity:1;transform:scale(1);width:32px;height:32px;top:8px;right:8px}}.checkin-records{max-width:1400px;margin:0 auto}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;transition:box-shadow .2s ease}.summary-card:hover{box-shadow:0 4px 12px #00000014}.summary-label{font-size:14px;color:#6b7280;margin-bottom:8px}.summary-value{font-size:32px;font-weight:700;color:#1f2933}.chart-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;margin-bottom:24px}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-title{font-size:18px;font-weight:600;color:#1f2933}.period-tabs{display:flex;gap:8px}.period-tab{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:14px;color:#4b5563;cursor:pointer;transition:all .2s ease}.period-tab:hover{border-color:#2563eb;color:#2563eb}.period-tab.active{background:#2563eb;border-color:#2563eb;color:#fff}.chart-container{min-height:300px}.chart-loading,.chart-empty{text-align:center;padding:60px 20px;color:#9ca3af;font-size:14px}.bar-chart{display:flex;flex-direction:column;gap:12px}.bar-item{display:flex;align-items:center;gap:12px}.bar-label{min-width:80px;font-size:13px;color:#6b7280;text-align:right}.bar-wrapper{flex:1;height:32px;background:#f3f4f6;border-radius:4px;position:relative;overflow:hidden}.bar{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding:0 12px;min-width:40px;transition:width .3s ease}.bar-value{font-size:12px;font-weight:600;color:#fff}.filter-form{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-top:16px}.filter-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2933;transition:border-color .2s ease}.filter-input:focus{outline:none;border-color:#2563eb}.records-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.data-table th{background:#f9fafb;padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#374151;border-bottom:1px solid #e5e7eb}.btn-ghost:hover{border-color:#9ca3af;color:#4b5563}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.summary-grid{grid-template-columns:repeat(2,1fr)}.chart-header{flex-direction:column;align-items:flex-start;gap:16px}.filter-form{flex-direction:column;align-items:stretch}.filter-group{min-width:100%}.filter-actions{width:100%}.filter-actions button{flex:1}.bar-label{min-width:60px;font-size:12px}.data-table{font-size:12px}.data-table th,.data-table td{padding:8px 12px}}@media(max-width:480px){.summary-grid{grid-template-columns:1fr}.summary-value{font-size:24px}.period-tabs{width:100%;justify-content:space-between}.period-tab{flex:1;padding:6px 12px;font-size:13px}.chart-section,.filter-section,.records-section{padding:16px}.bar-label{min-width:50px;font-size:11px}.bar-value{font-size:11px}}.product-management{max-width:1400px;margin:0 auto}.filter-group{display:flex;flex-direction:column;gap:8px;min-width:200px;flex:1}.products-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.stock-low{color:#dc2626;font-weight:600}.stock-normal{color:#059669}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.btn-link.btn-danger{color:#dc2626}.btn-link.btn-danger:hover{color:#991b1b}.btn-danger{padding:8px 16px;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.btn-danger:hover{background:#991b1b}.modal-content.modal-small{max-width:400px}.modal-body,.modal-form{padding:24px}.required{color:#dc2626}.form-input.error,.form-select.error,.form-textarea.error{border-color:#dc2626}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.error-message{display:block;margin-top:4px;font-size:12px;color:#dc2626}.image-upload-section{margin-top:8px}.file-input{width:100%;padding:8px;border:1px dashed #d1d5db;border-radius:6px;cursor:pointer;transition:border-color .2s ease}.file-input:hover:not(:disabled){border-color:#2563eb}.file-input:disabled{opacity:.5;cursor:not-allowed}.upload-status{margin-top:8px;font-size:13px;color:#2563eb}.image-preview-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:16px}.image-preview-item{position:relative;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;aspect-ratio:1}.image-preview-item img{width:100%;height:100%;object-fit:cover}.image-remove-btn{position:absolute;top:4px;right:4px;padding:4px 8px;background:#dc2626e6;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s ease}.image-remove-btn:hover{background:#991b1be6}.warning-text{color:#dc2626;font-size:13px;margin-top:8px}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.filter-form{flex-direction:column;align-items:stretch}.filter-group{min-width:100%}.filter-actions{width:100%}.filter-actions button{flex:1}.form-row{grid-template-columns:1fr}.data-table{font-size:12px}.data-table th,.data-table td{padding:8px 12px}.action-buttons{flex-direction:column;gap:8px}.modal-content{max-width:100%;margin:0}.image-preview-list{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media(max-width:480px){.products-section,.filter-section,.modal-header,.modal-body,.modal-form,.modal-footer{padding:16px}.image-preview-list{grid-template-columns:repeat(2,1fr)}}.order-management{max-width:1400px;margin:0 auto}.page-title{font-size:24px;font-weight:600;color:#1f2933}.orders-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.table-container{overflow-x:auto;margin-bottom:24px}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.status-pending{background:#fef3c7;color:#92400e}.status-badge.status-processing{background:#dbeafe;color:#1e40af}.status-badge.status-shipped{background:#e0e7ff;color:#3730a3}.status-badge.status-completed{background:#d1fae5;color:#065f46}.status-badge.status-cancelled{background:#fee2e2;color:#991b1b}.action-buttons{display:flex;gap:12px}.btn-link{background:none;border:none;color:#2563eb;font-size:14px;cursor:pointer;padding:0;text-decoration:underline;transition:color .2s ease}.btn-link:hover{color:#1d4ed8}.pagination{display:flex;justify-content:center;align-items:center;gap:16px}.pagination-btn{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:14px;color:#4b5563;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){border-color:#2563eb;color:#2563eb}.btn-secondary{padding:8px 16px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.btn-secondary:hover{background:#1d4ed8}.btn-ghost{padding:8px 16px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-ghost:hover:not(:disabled){border-color:#9ca3af;color:#4b5563}.loading-message,.error-message,.empty-message{text-align:center;padding:40px 20px;font-size:14px}.empty-message{color:#9ca3af}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-content.modal-large{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-title{font-size:18px;font-weight:600;color:#1f2933}.modal-close{background:transparent;border:none;color:#6b7280;font-size:14px;cursor:pointer;padding:4px 8px;transition:color .2s ease}.modal-close:hover{color:#1f2933}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb}.order-detail-content{display:flex;flex-direction:column;gap:24px}.detail-section{padding-bottom:24px;border-bottom:1px solid #e5e7eb}.detail-section:last-child{border-bottom:none;padding-bottom:0}.section-title{font-size:16px;font-weight:600;color:#1f2933;margin-bottom:16px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:13px;color:#6b7280;font-weight:500}.info-value{font-size:14px;color:#1f2933;font-weight:400}.status-timeline{display:flex;flex-direction:column;gap:12px}.timeline-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-radius:6px;border-left:3px solid #2563eb}.timeline-label{font-size:14px;font-weight:500;color:#1f2933}.timeline-time{font-size:13px;color:#6b7280}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.form-input,.form-select,.form-textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2933;transition:border-color .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#2563eb}.form-select{background:#fff;cursor:pointer}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.filter-form{flex-direction:column;align-items:stretch}.filter-group{min-width:100%}.filter-actions{width:100%}.filter-actions button{flex:1}.data-table{font-size:12px}.data-table th,.data-table td{padding:8px 12px}.info-grid{grid-template-columns:1fr}.modal-content{max-width:100%;margin:0}}@media(max-width:480px){.orders-section,.filter-section,.modal-header,.modal-body,.modal-footer{padding:16px}.timeline-item{flex-direction:column;align-items:flex-start;gap:4px}}.revenue-report{max-width:1400px;margin:0 auto;padding:24px}.page-title{font-size:24px;font-weight:600;color:#1f2933;margin:0}.filter-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;margin-bottom:24px}.filter-group{display:flex;flex-direction:column;gap:8px;min-width:180px;flex:1}.filter-group label{font-size:14px;font-weight:500;color:#374151}.filter-input,.filter-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2933;transition:border-color .2s ease}.filter-input:focus,.filter-select:focus{outline:none;border-color:#2563eb}.filter-select{background:#fff;cursor:pointer}.filter-actions{display:flex;gap:12px}.btn-primary{padding:10px 20px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.btn-primary:hover:not(:disabled){background:#1d4ed8}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.stat-card.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.stat-card.primary .stat-label,.stat-card.primary .stat-hint{color:#ffffffe6}.stat-card.primary .stat-value{color:#fff}.stat-label{font-size:14px;color:#6b7280;margin-bottom:12px;font-weight:500}.stat-value{font-size:36px;font-weight:700;color:#1f2933;margin-bottom:8px}.stat-hint{font-size:13px;color:#9ca3af}.section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;margin-bottom:24px}.section-title{font-size:18px;font-weight:600;color:#1f2933;margin:0 0 20px}.data-table th{background:#f9fafb;padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#374151;border-bottom:1px solid #e5e7eb;white-space:nowrap}.data-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#1f2933}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#f9fafb}.empty-message{text-align:center;padding:40px 20px;font-size:14px;color:#9ca3af}.loading-message,.error-message{text-align:center;padding:60px 20px;font-size:16px}.loading-message{color:#6b7280}.error-message{color:#dc2626}@media(max-width:768px){.revenue-report{padding:16px}.page-title{font-size:20px}.filter-form{flex-direction:column;align-items:stretch}.filter-group{min-width:100%}.filter-actions{width:100%}.filter-actions button{flex:1}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-value{font-size:28px}.data-table{font-size:12px}.data-table th,.data-table td{padding:8px 12px}.section{padding:16px}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:20px}.stat-value{font-size:32px}}.settings-page{padding:20px;max-width:1200px;margin:0 auto}.page-header{margin-bottom:24px}.page-title{font-size:24px;font-weight:600;color:#1a1a2e;margin:0}.success-banner{background:#d4edda;color:#155724;padding:12px 16px;border-radius:8px;margin-bottom:16px;text-align:center}.error-banner{background:#f8d7da;color:#721c24;padding:12px 16px;border-radius:8px;margin-bottom:16px;text-align:center}.settings-tabs{display:flex;gap:4px;border-bottom:2px solid #e0e0e0;margin-bottom:24px}.tab-btn{padding:12px 20px;border:none;background:transparent;color:#666;font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s ease}.tab-btn:hover{color:#c41e3a}.tab-btn.active{color:#c41e3a;border-bottom-color:#c41e3a}.settings-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.settings-section{padding:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 20px}.section-header .section-title{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group.full-width{grid-column:1 / -1}.form-input,.form-select{padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:#c41e3a}.form-input:disabled{background:#f5f5f5;color:#999}.form-hint{font-size:12px;color:#999}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{margin-top:24px;padding-top:20px;border-top:1px solid #eee}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.data-table th{font-weight:600;color:#666;font-size:13px;background:#fafafa}.data-table td{font-size:14px;color:#333}.data-table tbody tr:hover{background:#fafafa}.role-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.role-admin{background:#e3f2fd;color:#1565c0}.role-editor{background:#fff3e0;color:#e65100}.role-viewer{background:#f3e5f5;color:#7b1fa2}.action-buttons{display:flex;gap:8px}.btn-link{background:none;border:none;color:#c41e3a;cursor:pointer;padding:4px 8px;font-size:13px}.btn-link:hover{text-decoration:underline}.btn-link.btn-danger{color:#dc3545}.btn-primary{background:#c41e3a;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.btn-primary:hover{background:#a01830}.btn-ghost{background:transparent;color:#666;border:1px solid #ddd;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee}.modal-title{font-size:18px;font-weight:600;color:#1a1a2e;margin:0}.modal-close{background:none;border:none;color:#999;cursor:pointer;padding:4px 8px;font-size:14px}.modal-close:hover{color:#333}.modal-body{padding:24px;display:flex;flex-direction:column;gap:16px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee}.loading-message{text-align:center;padding:60px 20px;color:#666}@media(max-width:768px){.settings-tabs{flex-wrap:wrap}.tab-btn{padding:10px 16px;font-size:13px}.form-grid{grid-template-columns:1fr}.section-header{flex-direction:column;gap:12px;align-items:flex-start}}.devotee-list{padding:24px}.header-stats{display:flex;gap:16px}.stat-item{font-size:14px;color:#666}.filter-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:20px}.filter-form{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:8px;min-width:200px}.filter-group label{font-size:14px;font-weight:500;color:#333}.filter-input,.filter-select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.filter-input:focus,.filter-select:focus{outline:none;border-color:#4a90e2}.filter-actions{display:flex;gap:8px;margin-left:auto}.table-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead th{text-align:left;padding:12px 16px;background:#f5f5f5;border-bottom:2px solid #e0e0e0;font-size:14px;font-weight:600;color:#333}.data-table tbody td{padding:12px 16px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#666}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.pagination-btn{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;font-size:14px;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#4a90e2}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.devotee-detail{padding:24px;max-width:1200px;margin:0 auto}.profile-card,.summary-card,.timeline-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px;margin-bottom:20px}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.profile-item{display:flex;flex-direction:column;gap:8px}.profile-item label{font-size:13px;font-weight:500;color:#666;text-transform:uppercase;letter-spacing:.5px}.profile-item span{font-size:15px;color:#333}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.summary-item{background:#f9f9f9;border-radius:8px;padding:20px;text-align:center;transition:transform .2s}.summary-item:hover{transform:translateY(-2px)}.summary-item.primary{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff}.summary-value{font-size:32px;font-weight:700;color:#333;margin-bottom:8px}.summary-item.primary .summary-value{color:#fff}.summary-label{font-size:13px;color:#666;font-weight:500}.summary-item.primary .summary-label{color:#ffffffe6}.timeline-container{position:relative;padding-left:40px}.timeline-container:before{content:"";position:absolute;left:12px;top:0;bottom:0;width:2px;background:#e0e0e0}.timeline-item{position:relative;padding-bottom:32px;display:flex;align-items:flex-start;gap:16px}.timeline-marker{position:absolute;left:-34px;width:24px;height:24px;border-radius:50%;background:#4a90e2;border:3px solid #fff;box-shadow:0 2px 4px #0000001a;z-index:1}.timeline-content{flex:1;background:#f9f9f9;border-radius:8px;padding:16px}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.timeline-type{font-size:14px;font-weight:600;color:#333}.timeline-time{font-size:13px;color:#666}.timeline-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:#666}.timeline-meta span{padding:4px 8px;background:#fff;border-radius:4px;border:1px solid #e0e0e0}.loading-message,.error-message,.empty-message{text-align:center;padding:40px 20px;color:#666;font-size:14px}.error-container{display:flex;flex-direction:column;align-items:center;gap:16px}.btn-primary,.btn-ghost{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#4a90e2;color:#fff;border:none}.btn-primary:hover{background:#357abd}.btn-ghost:hover{background:#f5f5f5}.change-password-page{padding:24px;max-width:600px;margin:0 auto}.page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.change-password-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:32px}.change-password-form{margin-bottom:32px}.form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-group input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#4a90e2}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.form-hint{display:block;margin-top:6px;font-size:12px;color:#666}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e0e0e0}.btn-primary,.btn-ghost{padding:10px 24px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.error-message,.success-message{padding:12px 16px;border-radius:4px;margin-bottom:20px;font-size:14px}.error-message{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}.success-message{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.password-tips{background:#f9f9f9;border-radius:8px;padding:20px;border-left:4px solid #4a90e2}.password-tips h3{font-size:16px;font-weight:600;color:#333;margin:0 0 12px}.password-tips ul{margin:0;padding-left:20px}.password-tips li{font-size:14px;color:#666;line-height:1.8}.events-container{padding:20px;max-width:1400px;margin:0 auto}.events-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.events-header h2{margin:0;font-size:24px;font-weight:600;color:#1f2937}.btn-primary{padding:10px 20px;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background-color:#2563eb}.btn-secondary{padding:10px 20px;background-color:#6b7280;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-secondary:hover{background-color:#4b5563}.btn-danger{padding:10px 20px;background-color:#ef4444;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-danger:hover{background-color:#dc2626}.btn-sm{padding:6px 12px;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.btn-view{background-color:#3b82f6;color:#fff}.btn-view:hover{background-color:#2563eb}.btn-edit{background-color:#10b981;color:#fff}.btn-edit:hover{background-color:#059669}.events-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px;flex-wrap:wrap}.status-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:8px 16px;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.filter-btn:hover{background-color:#e5e7eb}.filter-btn.active{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.search-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-width:200px;max-width:300px}.search-input:focus{outline:none;border-color:#3b82f6}.status-draft{background-color:#f3f4f6;color:#6b7280}.status-published{background-color:#dbeafe;color:#1e40af}.status-closed{background-color:#fef3c7;color:#92400e}.status-canceled{background-color:#fee2e2;color:#991b1b}.status-registered{background-color:#d1fae5;color:#065f46}.status-waitlist{background-color:#fef3c7;color:#92400e}.events-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff;margin-bottom:20px}.events-table{width:100%;border-collapse:collapse}.events-table thead{background-color:#f9fafb}.events-table th{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb;font-weight:600;font-size:13px;color:#374151}.events-table td{padding:12px 16px;border-bottom:1px solid #e5e7eb;font-size:14px;color:#1f2937}.events-table tbody tr:last-child td{border-bottom:none}.events-table tbody tr:hover{background-color:#f9fafb}.event-title{font-weight:500;color:#1f2937}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.btn-pagination{padding:8px 16px;border:1px solid #d1d5db;background-color:#fff;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.btn-pagination:hover:not(:disabled){background-color:#f3f4f6}.pagination-info{font-size:14px;color:#6b7280}.loading-state,.error-state,.empty-state{padding:40px 20px;text-align:center;font-size:16px;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.error-state{color:#dc2626}.event-form{background:#fff;padding:24px;border:1px solid #e5e7eb;border-radius:8px;max-width:800px;margin:0 auto}.form-input,.form-textarea,.form-select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#3b82f6}.form-textarea{min-height:100px;resize:vertical}.form-error{margin-top:4px;font-size:13px;color:#ef4444}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.event-detail-container{padding:20px;max-width:1000px;margin:0 auto}.event-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.event-detail-title{flex:1}.event-detail-title h2{margin:0 0 8px;font-size:28px;font-weight:600;color:#1f2937}.event-detail-meta{display:flex;gap:12px;align-items:center}.event-detail-actions{display:flex;gap:8px}.event-detail-content{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.event-cover-image{width:100%;height:300px;object-fit:cover;background-color:#f3f4f6}.event-detail-info{padding:24px}.info-row{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid #e5e7eb}.info-row:last-child{border-bottom:none}.info-label{font-weight:500;color:#6b7280}.info-value{color:#1f2937}.info-value.description{white-space:pre-wrap;line-height:1.6}.registrations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.registrations-header h3{margin:0;font-size:20px;font-weight:600}.registrations-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.confirm-modal-content{padding:20px 0}.confirm-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.progress-cell{min-width:140px}.progress-bar-container{display:flex;align-items:center;gap:8px}.progress-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.progress-bar-fill.low{background:linear-gradient(90deg,#10b981,#34d399)}.progress-bar-fill.medium{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.progress-bar-fill.high{background:linear-gradient(90deg,#ef4444,#f87171)}.progress-bar-fill.full{background:linear-gradient(90deg,#6b7280,#9ca3af)}.progress-text{font-size:12px;color:#6b7280;white-space:nowrap}.event-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.event-tag{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.event-tag.urgent{background:#fef2f2;color:#dc2626}.event-tag.warning{background:#fffbeb;color:#d97706}.event-tag.success{background:#ecfdf5;color:#059669}.event-tag.info{background:#eff6ff;color:#2563eb}.quick-actions{display:flex;gap:4px;flex-wrap:wrap}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:14px;transition:all .2s}.btn-icon.btn-checkin{color:#10b981}.btn-icon.btn-checkin:hover{background:#ecfdf5;border-color:#10b981}.btn-icon.btn-copy{color:#3b82f6}.btn-icon.btn-copy:hover{background:#eff6ff;border-color:#3b82f6}.event-info-cell{min-width:200px}.event-title-row{display:flex;align-items:center;gap:8px}.event-subtitle{font-size:12px;color:#6b7280;margin-top:2px}.time-display{display:flex;flex-direction:column;gap:2px}.time-countdown{font-size:11px;padding:2px 6px;border-radius:4px;display:inline-block}.time-countdown.urgent{background:#fef2f2;color:#dc2626}.time-countdown.warning{background:#fffbeb;color:#d97706}.time-countdown.normal{background:#f3f4f6;color:#6b7280}.checkin-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;margin-bottom:20px}.checkin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.checkin-header h3{margin:0;font-size:18px;display:flex;align-items:center;gap:8px}.checkin-stats{display:flex;gap:24px}.checkin-stat{text-align:center}.checkin-stat-value{font-size:24px;font-weight:700;color:#1f2937}.checkin-stat-label{font-size:12px;color:#6b7280}.checkin-search{display:flex;gap:12px;margin-bottom:16px}.checkin-search input{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.checkin-list{max-height:400px;overflow-y:auto}.checkin-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;transition:all .2s}.checkin-item:hover{background:#f9fafb}.checkin-item.checked-in{background:#ecfdf5;border-color:#10b981}.checkin-info{display:flex;align-items:center;gap:12px}.checkin-avatar{width:40px;height:40px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:16px}.checkin-name{font-weight:500;color:#1f2937}.checkin-contact{font-size:12px;color:#6b7280}.btn-checkin-action{padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-checkin-action.do-checkin{background:#10b981;color:#fff}.btn-checkin-action.do-checkin:hover{background:#059669}.btn-checkin-action.undo-checkin{background:#f3f4f6;color:#6b7280}.checkin-time{font-size:12px;color:#10b981;display:flex;align-items:center;gap:4px}.add-registration-form{display:flex;flex-direction:column;gap:16px}@media(max-width:500px){.form-row{grid-template-columns:1fr}}.event-stats-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media(max-width:900px){.event-stats-cards{grid-template-columns:repeat(2,1fr)}}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;text-align:center}.stat-card-value{font-size:28px;font-weight:700;color:#1f2937}.stat-card-label{font-size:13px;color:#6b7280;margin-top:4px}.stat-card.highlight{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6}@media(max-width:768px){.events-filters{flex-direction:column;align-items:stretch}.search-input{max-width:100%}.events-table-wrapper{overflow-x:auto}.events-table{min-width:800px}.event-detail-header{flex-direction:column;gap:16px}.event-detail-actions{width:100%}.info-row{grid-template-columns:1fr;gap:8px}}.lamps-container{padding:24px;max-width:1400px;margin:0 auto}.lamps-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.lamps-header h2{margin:0;font-size:24px;font-weight:600;color:#333}.lamps-filters{background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;display:flex;flex-direction:column;gap:16px}.filter-group{display:flex;align-items:center;gap:12px}.filter-group label{font-weight:500;color:#555;min-width:60px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:6px 16px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.filter-btn:hover{background:#f5f5f5;border-color:#bbb}.filter-btn.active{background:#4caf50;color:#fff;border-color:#4caf50}.search-input{padding:10px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px;width:100%;max-width:400px}.search-input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.lamps-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto;margin-bottom:24px}.lamps-table{width:100%;border-collapse:collapse}.lamps-table thead{background:#f8f9fa}.lamps-table th,.lamps-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.lamps-table th{font-weight:600;color:#555;font-size:14px}.lamps-table td{font-size:14px;color:#333}.lamps-table tbody tr:hover{background:#f9f9f9}.lamp-title{font-weight:500;color:#333}.lamp-description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666;font-size:13px}.applications-table{font-size:13px}.applications-table .lunar-birthday{font-size:12px;color:#999;margin-top:2px}.applications-table .address-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.status-draft{background:#e3f2fd;color:#1976d2}.status-published{background:#e8f5e9;color:#388e3c}.status-closed{background:#fff3e0;color:#f57c00}.status-canceled{background:#ffebee;color:#d32f2f}.status-completed{background:#e0f2f1;color:#00796b}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-primary,.btn-secondary,.btn-info,.btn-success,.btn-warning,.btn-danger,.btn-sm{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover:not(:disabled){background:#45a049;box-shadow:0 2px 4px #0003}.btn-secondary{background:#fff;color:#555;border:1px solid #ddd}.btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#bbb}.btn-info{background:#2196f3;color:#fff}.btn-info:hover:not(:disabled){background:#1976d2}.btn-success{background:#4caf50;color:#fff}.btn-success:hover:not(:disabled){background:#45a049}.btn-warning{background:#ff9800;color:#fff}.btn-warning:hover:not(:disabled){background:#f57c00}.btn-danger{background:#f44336;color:#fff}.btn-danger:hover:not(:disabled){background:#d32f2f}.btn-sm{padding:4px 12px;font-size:13px}.btn-sm.btn-view{background:#2196f3;color:#fff}.btn-sm.btn-view:hover{background:#1976d2}.btn-sm.btn-edit{background:#ff9800;color:#fff}.btn-sm.btn-edit:hover{background:#f57c00}.btn-sm.btn-info{background:#9c27b0;color:#fff}.btn-sm.btn-info:hover{background:#7b1fa2}button:disabled{opacity:.5;cursor:not-allowed}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.btn-pagination{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.btn-pagination:hover:not(:disabled){background:#f5f5f5;border-color:#bbb}.pagination-info{font-size:14px;color:#666}.loading-state,.error-state,.empty-state{padding:60px 20px;text-align:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#666;font-size:16px}.error-state{color:#d32f2f}.lamps-form-wrapper{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:32px;max-width:800px}.lamps-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:500;color:#555}.form-label.required:after{content:" *";color:#f44336}.form-input,.form-select,.form-textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-input.error,.form-select.error,.form-textarea.error{border-color:#f44336}.form-textarea{resize:vertical;min-height:100px}.error-text{font-size:13px;color:#f44336}.error-message{padding:12px 16px;background:#ffebee;color:#d32f2f;border-radius:6px;font-size:14px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.lamps-detail-wrapper{display:flex;flex-direction:column;gap:24px}.detail-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.detail-section h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#333;border-bottom:2px solid #4CAF50;padding-bottom:8px}.detail-row{display:flex;padding:12px 0;border-bottom:1px solid #f0f0f0}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:500;color:#666;min-width:120px;flex-shrink:0}.detail-value{color:#333;flex:1}.lamp-image{display:block;border-radius:8px;box-shadow:0 2px 4px #0000001a}.status-actions{display:flex;gap:12px;margin-top:16px}.modal-content{background:#fff;border-radius:8px;padding:32px;max-width:500px;width:90%;box-shadow:0 4px 12px #0000004d}.modal-content h3{margin:0 0 16px;font-size:20px;font-weight:600;color:#333}.modal-content p{margin:0 0 24px;color:#666;font-size:15px}@media(max-width:768px){.lamps-container{padding:16px}.lamps-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;flex-wrap:wrap}.lamps-filters{padding:16px}.filter-group{flex-direction:column;align-items:flex-start}.search-input{max-width:100%}.lamps-table{font-size:12px}.lamps-table th,.lamps-table td{padding:8px}.action-buttons{flex-direction:column}.lamps-form-wrapper{padding:20px}.detail-row{flex-direction:column;gap:4px}.detail-label{min-width:auto}.pagination{flex-direction:column;gap:12px}}.pilgrimage-visit-list{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:24px;font-weight:600;color:#1a1a1a;margin:0}.filters-bar{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px 20px;margin-bottom:20px}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:14px;font-weight:500;color:#333;white-space:nowrap}.filter-group select{padding:6px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.filter-group select:focus{outline:none;border-color:#4a90e2}.filter-info{margin-left:auto;font-size:14px;color:#666}.table-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.visits-table{width:100%;border-collapse:collapse}.visits-table thead th{text-align:left;padding:12px 16px;background:#f5f5f5;border-bottom:2px solid #e0e0e0;font-size:14px;font-weight:600;color:#333;white-space:nowrap}.visits-table tbody td{padding:12px 16px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#666}.clickable-row{cursor:pointer;transition:background-color .2s}.clickable-row:hover{background-color:#f9f9f9}.contact-info{display:flex;flex-direction:column;gap:4px}.contact-name{font-weight:500;color:#333}.group-name{font-size:13px;color:#888}.purpose-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;color:#fff;white-space:nowrap}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding:16px}.page-info{font-size:14px;color:#666}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 16px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-header h2{font-size:20px;font-weight:600;color:#1a1a1a;margin:0}.modal-close{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:#f5f5f5;color:#666}.modal-form{padding:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.form-group textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.pilgrimage-visit-detail{padding:24px;max-width:1000px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.page-title{font-size:24px;font-weight:600;color:#1a1a1a;margin:0;flex:1}.info-card,.manage-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px;margin-bottom:20px}.section-title{font-size:18px;font-weight:600;color:#333;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:16px}.info-item{display:flex;flex-direction:column;gap:8px}.info-item.full-width{grid-column:1 / -1}.info-item label{font-size:13px;font-weight:500;color:#666;text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:15px;color:#333}.info-item span.multiline{white-space:pre-wrap;line-height:1.6}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;color:#fff;white-space:nowrap;width:fit-content}.info-meta{display:flex;gap:24px;margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0;font-size:13px;color:#999}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-group label{font-size:14px;font-weight:500;color:#333}.required{color:#f44336}.form-group input,.form-group select,.form-group textarea{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4a90e2}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.loading-message,.error-message,.empty-message{text-align:center;padding:60px 20px;color:#666;font-size:14px}.error-message{color:#d32f2f}.error-container{display:flex;flex-direction:column;align-items:center;gap:20px}.error-actions{display:flex;gap:12px}.btn-primary,.btn-ghost{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#4a90e2;color:#fff}.btn-primary:hover:not(:disabled){background:#357abd}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:transparent;color:#666;border:1px solid #ddd}.btn-ghost:hover:not(:disabled){background:#f5f5f5}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.analytics-dashboard{padding:24px;max-width:1400px;margin:0 auto}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.analytics-header h1{margin:0;font-size:24px;color:#1a1a2e}.analytics-controls{display:flex;gap:12px;align-items:center}.period-select{padding:8px 16px;border:1px solid #ddd;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.period-select:focus{outline:none;border-color:#e74c3c}.refresh-btn{padding:8px 16px;background:#f8f9fa;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:14px;transition:all .2s}.refresh-btn:hover{background:#e9ecef}.refresh-btn.loading{opacity:.7;pointer-events:none}.analytics-section{margin-bottom:32px}.section-title{font-size:18px;font-weight:600;color:#1a1a2e;margin-bottom:16px;display:flex;align-items:center;gap:8px}.overview-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:1200px){.overview-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.overview-cards{grid-template-columns:1fr}}.overview-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.overview-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.overview-card .card-icon{font-size:32px;margin-bottom:12px}.overview-card .card-label{font-size:14px;color:#666;margin-bottom:8px}.overview-card .card-value{font-size:28px;font-weight:700;color:#1a1a2e}.overview-card .card-subtitle{font-size:13px;color:#888;margin-top:4px}.overview-card.highlight-green .card-value{color:#27ae60}.overview-card.highlight-blue .card-value{color:#3498db}.overview-card.highlight-orange .card-value{color:#e67e22}.overview-card.highlight-red .card-value{color:#e74c3c}.chart-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}@media(max-width:1000px){.chart-grid{grid-template-columns:1fr}}.chart-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.chart-card h3{font-size:16px;font-weight:600;color:#1a1a2e;margin:0 0 16px}.chart-container{height:300px}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:800px){.analysis-grid{grid-template-columns:1fr}}.ranking-table{width:100%;border-collapse:collapse}.ranking-table th,.ranking-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eee}.ranking-table th{font-size:13px;font-weight:600;color:#666;background:#f8f9fa}.ranking-table td{font-size:14px;color:#333}.ranking-table tr:hover{background:#f8f9fa}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:600}.rank-badge.gold{background:gold;color:#333}.rank-badge.silver{background:silver;color:#333}.rank-badge.bronze{background:#cd7f32;color:#fff}.rank-badge.default{background:#f0f0f0;color:#666}.funnel-container{padding:20px 0}.funnel-step{display:flex;align-items:center;margin-bottom:16px}.funnel-bar{height:40px;background:linear-gradient(90deg,#e74c3c,#f39c12);border-radius:8px;display:flex;align-items:center;justify-content:flex-end;padding-right:16px;color:#fff;font-weight:600;min-width:60px;transition:width .5s ease}.funnel-label{margin-left:16px;font-size:14px;color:#333;white-space:nowrap}.funnel-rate{font-size:12px;color:#888;margin-left:8px}.retention-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:500px){.retention-cards{grid-template-columns:1fr}}.retention-card{background:#f8f9fa;border-radius:10px;padding:16px;text-align:center}.retention-card .metric-value{font-size:32px;font-weight:700;color:#1a1a2e}.retention-card .metric-label{font-size:13px;color:#666;margin-top:4px}.retention-card.positive .metric-value{color:#27ae60}.retention-card.negative .metric-value{color:#e74c3c}.tenure-bars{display:flex;flex-direction:column;gap:12px;padding:16px 0}.tenure-item{display:flex;align-items:center;gap:12px}.tenure-label{width:80px;font-size:13px;color:#666;flex-shrink:0}.tenure-bar-wrapper{flex:1;height:24px;background:#f0f0f0;border-radius:12px;overflow:hidden}.tenure-bar{height:100%;border-radius:12px;transition:width .5s ease}.tenure-bar.newcomer{background:linear-gradient(90deg,#3498db,#5dade2)}.tenure-bar.establishing{background:linear-gradient(90deg,#27ae60,#58d68d)}.tenure-bar.loyal{background:linear-gradient(90deg,#f39c12,#f7dc6f)}.tenure-bar.veteran{background:linear-gradient(90deg,#e74c3c,#ec7063)}.tenure-value{width:80px;text-align:right;font-size:14px;font-weight:600;color:#333}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #e74c3c;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:40px;background:#fff5f5;border-radius:12px;color:#e74c3c}.error-container button{margin-top:16px;padding:8px 24px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer}.chart-legend{display:flex;justify-content:center;gap:24px;margin-top:16px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.legend-color{width:12px;height:12px;border-radius:3px}.custom-tooltip{background:#fff;border:1px solid #ddd;border-radius:8px;padding:12px;box-shadow:0 2px 8px #00000026}.custom-tooltip .label{font-weight:600;margin-bottom:8px;color:#333}.custom-tooltip .item{display:flex;align-items:center;gap:8px;font-size:13px;color:#666;margin:4px 0}.age-distribution-section{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(max-width:900px){.age-distribution-section{grid-template-columns:1fr}}.chart-highlight{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;margin-top:16px}.highlight-icon{font-size:18px}.highlight-text{font-size:14px;color:#92400e}.highlight-text strong{color:#78350f}.age-stats{display:flex;justify-content:space-around;padding:16px 0;border-top:1px solid #e5e7eb;margin-top:16px}.age-stat-item{text-align:center}.age-stat-item .stat-label{font-size:12px;color:#6b7280;display:block;margin-bottom:4px}.age-stat-item .stat-value{font-size:16px;font-weight:600;color:#1f2937}.ai-diagnosis-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.ai-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(135deg,#1e3a5f,#2d5a87);color:#fff}.ai-title{display:flex;align-items:center;gap:12px}.ai-icon{font-size:28px}.ai-title h3{margin:0;font-size:18px;font-weight:600}.ai-analyze-btn{padding:10px 24px;background:#fff;color:#1e3a5f;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.ai-analyze-btn:hover{background:#f0f9ff;transform:translateY(-1px)}.ai-analyze-btn:disabled{opacity:.7;cursor:not-allowed}.ai-analyze-btn .spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top-color:#1e3a5f;border-radius:50%;animation:spin .8s linear infinite}.ai-placeholder{padding:60px 40px;text-align:center}.placeholder-icon{font-size:48px;margin-bottom:16px}.ai-placeholder p{font-size:16px;color:#6b7280;margin-bottom:24px}.placeholder-features{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.placeholder-features li{padding:8px 16px;background:#f3f4f6;border-radius:20px;font-size:13px;color:#374151}.ai-result{padding:20px}.health-score-card{display:flex;align-items:center;gap:24px;padding:24px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;margin-bottom:24px}.score-circle{width:100px;height:100px;border:6px solid;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}.score-number{font-size:32px;font-weight:700;line-height:1}.score-label{font-size:14px;color:#6b7280}.score-info{flex:1}.score-level{font-size:24px;font-weight:700;margin-bottom:4px}.score-desc{font-size:14px;color:#6b7280}.ai-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid #e5e7eb;padding-bottom:12px}.ai-tab{padding:8px 16px;background:transparent;border:1px solid transparent;border-radius:6px;font-size:14px;color:#6b7280;cursor:pointer;transition:all .2s}.ai-tab:hover{background:#f3f4f6}.ai-tab.active{background:#1e3a5f;color:#fff}.swot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:768px){.swot-grid{grid-template-columns:1fr}}.swot-card{padding:16px;border-radius:10px}.swot-card h4{margin:0 0 12px;font-size:15px;font-weight:600}.swot-card ul{margin:0;padding-left:20px}.swot-card li{font-size:13px;line-height:1.6;margin-bottom:6px}.swot-card.strengths{background:#d1fae5}.swot-card.strengths h4{color:#065f46}.swot-card.strengths li{color:#047857}.swot-card.weaknesses{background:#fee2e2}.swot-card.weaknesses h4{color:#991b1b}.swot-card.weaknesses li{color:#b91c1c}.swot-card.opportunities{background:#dbeafe}.swot-card.opportunities h4{color:#1e40af}.swot-card.opportunities li{color:#1d4ed8}.swot-card.threats{background:#fef3c7}.swot-card.threats h4{color:#92400e}.swot-card.threats li{color:#b45309}.age-insights{display:flex;flex-direction:column;gap:12px}.insight-card{display:flex;align-items:flex-start;gap:16px;padding:16px;background:#f9fafb;border-radius:10px}.insight-icon{font-size:28px}.insight-content h4{margin:0 0 4px;font-size:15px;font-weight:600;color:#1f2937}.insight-content p{margin:0;font-size:13px;color:#6b7280;line-height:1.5}.recommendations-list{display:flex;flex-direction:column;gap:16px}.recommendation-card{padding:16px;border:1px solid #e5e7eb;border-radius:10px}.rec-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rec-category{font-size:12px;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:4px}.rec-priority{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500}.rec-title{margin:0 0 8px;font-size:15px;font-weight:600;color:#1f2937}.rec-desc{margin:0 0 12px;font-size:13px;color:#6b7280;line-height:1.5}.rec-impact{font-size:12px;padding:8px 12px;background:#eff6ff;border-radius:6px}.impact-label{color:#6b7280}.impact-value{color:#1e40af;font-weight:500}.action-plan{display:flex;flex-direction:column;gap:16px}.phase-card{padding:16px;border:1px solid #e5e7eb;border-radius:10px}.phase-title{margin:0 0 12px;font-size:15px;font-weight:600;color:#1e3a5f;padding-bottom:8px;border-bottom:2px solid #1e3a5f}.phase-actions{list-style:none;padding:0;margin:0}.phase-actions li{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;padding:8px 0;border-bottom:1px dashed #e5e7eb}.phase-actions li:last-child{border-bottom:none}.action-checkbox{color:#9ca3af}.ai-footer{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb;text-align:right}.ai-timestamp{font-size:12px;color:#9ca3af}.business-dashboard{padding:24px;max-width:1400px;margin:0 auto;background:#f5f7fa;min-height:100vh}.business-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.business-header h1{margin:0;font-size:24px;color:#1a1a2e;display:flex;align-items:center;gap:10px}.period-badge{font-size:14px;font-weight:400;color:#666;background:#e9ecef;padding:4px 12px;border-radius:20px}.btn-export{padding:10px 20px;background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:6px;transition:all .2s}.btn-export:hover{background:#f8f9fa;border-color:#ccc}.health-overview{background:#fff;border-radius:16px;padding:28px;margin-bottom:24px;box-shadow:0 2px 12px #00000014}.health-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:20px}.health-score-main{display:flex;align-items:center;gap:20px}.score-circle{width:100px;height:100px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-weight:700}.score-circle.excellent{background:linear-gradient(135deg,#27ae60,#2ecc71)}.score-circle.good{background:linear-gradient(135deg,#3498db,#5dade2)}.score-circle.fair{background:linear-gradient(135deg,#f39c12,#f1c40f)}.score-circle.poor{background:linear-gradient(135deg,#e74c3c,#ec7063)}.score-number{font-size:36px;line-height:1}.score-label{font-size:12px;opacity:.9}.health-info h2{margin:0 0 8px;font-size:20px;color:#1a1a2e}.health-status{display:flex;align-items:center;gap:8px;font-size:16px}.status-dot{width:12px;height:12px;border-radius:50%}.status-dot.green{background:#27ae60}.status-dot.yellow{background:#f39c12}.status-dot.red{background:#e74c3c}.health-trend{text-align:right}.trend-value{font-size:24px;font-weight:700}.trend-value.up{color:#27ae60}.trend-value.down{color:#e74c3c}.trend-value.flat{color:#95a5a6}.trend-label{font-size:13px;color:#666}.four-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:1000px){.four-pillars{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.four-pillars{grid-template-columns:1fr}}.pillar-card{background:#f8f9fa;border-radius:12px;padding:20px;position:relative;overflow:hidden;transition:transform .2s}.pillar-card:hover{transform:translateY(-2px)}.pillar-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.pillar-card.acquisition:before{background:linear-gradient(90deg,#3498db,#5dade2)}.pillar-card.activation:before{background:linear-gradient(90deg,#9b59b6,#a569bd)}.pillar-card.retention:before{background:linear-gradient(90deg,#e67e22,#f39c12)}.pillar-card.revenue:before{background:linear-gradient(90deg,#27ae60,#2ecc71)}.pillar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pillar-title{font-size:14px;color:#666;display:flex;align-items:center;gap:6px}.pillar-score{font-size:13px;font-weight:600;padding:2px 8px;border-radius:12px}.pillar-score.high{background:#d4edda;color:#155724}.pillar-score.medium{background:#fff3cd;color:#856404}.pillar-score.low{background:#f8d7da;color:#721c24}.pillar-value{font-size:28px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.pillar-change{font-size:13px;display:flex;align-items:center;gap:4px}.pillar-change.positive{color:#27ae60}.pillar-change.negative{color:#e74c3c}.pillar-change.neutral{color:#95a5a6}.pillar-benchmark{font-size:12px;color:#888;margin-top:8px;padding-top:8px;border-top:1px solid #e9ecef}.alerts-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 12px #00000014}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0;font-size:18px;color:#1a1a2e;display:flex;align-items:center;gap:8px}.alert-count{font-size:12px;background:#e74c3c;color:#fff;padding:2px 8px;border-radius:10px}.alert-list{display:flex;flex-direction:column;gap:12px}.alert-item{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:10px;background:#f8f9fa}.alert-item.critical{background:#fdf2f2;border-left:4px solid #e74c3c}.alert-item.warning{background:#fffbeb;border-left:4px solid #f39c12}.alert-item.info{background:#eff6ff;border-left:4px solid #3498db}.alert-icon{font-size:20px;flex-shrink:0}.alert-content{flex:1}.alert-title{font-weight:600;color:#1a1a2e;margin-bottom:4px}.alert-description{font-size:14px;color:#666;margin-bottom:8px}.alert-action{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#3498db;cursor:pointer;font-weight:500}.alert-action:hover{text-decoration:underline}.recommendations-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 12px #00000014}.recommendation-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:900px){.recommendation-cards{grid-template-columns:1fr}}.recommendation-card{padding:20px;border-radius:12px;background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e9ecef;transition:all .2s}.recommendation-card:hover{border-color:#3498db;box-shadow:0 4px 12px #3498db26}.recommendation-priority{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;margin-bottom:12px;text-transform:uppercase}.recommendation-priority.high{background:#fce4ec;color:#c2185b}.recommendation-priority.medium{background:#fff3e0;color:#e65100}.recommendation-priority.low{background:#e3f2fd;color:#1565c0}.recommendation-title{font-size:16px;font-weight:600;color:#1a1a2e;margin-bottom:8px}.recommendation-description{font-size:14px;color:#666;margin-bottom:12px;line-height:1.5}.recommendation-impact{display:flex;align-items:center;gap:8px;font-size:13px;color:#27ae60;font-weight:500}.two-column-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}@media(max-width:900px){.two-column-layout{grid-template-columns:1fr}}.dashboard-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #00000014}.dashboard-card h3{margin:0 0 20px;font-size:18px;color:#1a1a2e;display:flex;align-items:center;gap:8px}.funnel-visual{padding:20px 0}.funnel-stage{display:flex;align-items:center;margin-bottom:12px}.funnel-bar{height:44px;background:linear-gradient(90deg,#3498db,#5dade2);border-radius:8px;display:flex;align-items:center;padding:0 16px;color:#fff;font-weight:600;transition:width .5s ease;min-width:80px}.funnel-stage:nth-child(2) .funnel-bar{background:linear-gradient(90deg,#9b59b6,#a569bd)}.funnel-stage:nth-child(3) .funnel-bar{background:linear-gradient(90deg,#e67e22,#f39c12)}.funnel-stage:nth-child(4) .funnel-bar{background:linear-gradient(90deg,#27ae60,#2ecc71)}.funnel-info{margin-left:16px;flex:1}.funnel-label{font-size:14px;color:#333;font-weight:500}.funnel-conversion{font-size:12px;color:#888}.funnel-conversion.good{color:#27ae60}.funnel-conversion.warning{color:#f39c12}.funnel-conversion.bad{color:#e74c3c}.cohort-table{width:100%;border-collapse:collapse;font-size:13px}.cohort-table th,.cohort-table td{padding:10px 8px;text-align:center;border:1px solid #e9ecef}.cohort-table th{background:#f8f9fa;font-weight:600;color:#666}.cohort-table td:first-child{text-align:left;font-weight:500;background:#f8f9fa}.cohort-cell{border-radius:4px;padding:4px}.cohort-cell.high{background:#27ae60;color:#fff}.cohort-cell.medium-high{background:#58d68d;color:#fff}.cohort-cell.medium{background:#f39c12;color:#fff}.cohort-cell.medium-low{background:#f5b041;color:#fff}.cohort-cell.low{background:#e74c3c;color:#fff}.event-roi-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 12px #00000014}.event-roi-table{width:100%;border-collapse:collapse}.event-roi-table th,.event-roi-table td{padding:14px 12px;text-align:left;border-bottom:1px solid #e9ecef}.event-roi-table th{font-size:13px;font-weight:600;color:#666;background:#f8f9fa}.event-roi-table td{font-size:14px;color:#333}.event-name{font-weight:500}.event-date{font-size:12px;color:#888}.roi-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:13px;font-weight:600}.roi-badge.excellent{background:#d4edda;color:#155724}.roi-badge.good{background:#cce5ff;color:#004085}.roi-badge.fair{background:#fff3cd;color:#856404}.roi-badge.poor{background:#f8d7da;color:#721c24}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#666}.loading-spinner{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #e74c3c;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media print{.business-dashboard{background:#fff;padding:0}.header-actions{display:none}.dashboard-card,.health-overview,.alerts-section,.recommendations-section,.event-roi-section{box-shadow:none;border:1px solid #ddd;break-inside:avoid}}.certificates-container{padding:20px;max-width:1200px;margin:0 auto}.certificates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.certificates-header h2{margin:0;font-size:24px;font-weight:600;color:#1f2937}.cert-stats-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media(max-width:900px){.cert-stats-cards{grid-template-columns:repeat(2,1fr)}}.cert-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;text-align:center}.cert-stat-value{font-size:24px;font-weight:700;color:#1f2937}.cert-stat-label{font-size:13px;color:#6b7280;margin-top:4px}.certificates-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px;flex-wrap:wrap}.certificates-table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.certificates-table{width:100%;border-collapse:collapse}.certificates-table th{background:#f9fafb;padding:12px 16px;text-align:left;font-weight:600;font-size:13px;color:#374151;border-bottom:1px solid #e5e7eb}.certificates-table td{padding:12px 16px;font-size:14px;color:#1f2937;border-bottom:1px solid #e5e7eb}.certificates-table tbody tr:last-child td{border-bottom:none}.certificates-table tbody tr:hover{background:#f9fafb}.cert-number{font-family:monospace;font-size:13px;color:#6b7280}.cert-recipient{font-weight:500}.cert-reason{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cert-type-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.cert-type-badge.donation{background:#dbeafe;color:#1e40af}.cert-type-badge.volunteer{background:#d1fae5;color:#065f46}.cert-type-badge.sponsor{background:#fef3c7;color:#92400e}.cert-type-badge.other{background:#f3f4f6;color:#374151}.cert-type-badge.receipt{background:#e0e7ff;color:#3730a3}.certificate-form{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;max-width:700px}.form-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#1f2937;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.form-textarea{resize:vertical;min-height:80px}.form-error{color:#ef4444;font-size:13px;margin-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:16px;transition:all .2s}.btn-icon:hover{background:#f3f4f6;border-color:#d1d5db}.action-buttons{display:flex;gap:6px}.certificate-preview{display:flex;justify-content:center;padding:20px;background:#f3f4f6;min-height:600px}.certificate-paper{width:210mm;min-height:297mm;background:#fffef5;box-shadow:0 4px 20px #00000026;padding:15mm}.certificate-border{border:3px double #b8860b;height:100%;padding:20mm;position:relative}.certificate-content{text-align:center;font-family:標楷體,DFKai-SB,KaiTi,serif}.certificate-title{font-size:48px;font-weight:700;color:#8b0000;letter-spacing:24px;margin-bottom:30px;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.certificate-temple{font-size:28px;color:#1a1a1a;margin-bottom:40px;letter-spacing:8px}.certificate-recipient{font-size:32px;margin-bottom:40px}.recipient-name{font-weight:700;color:#000;border-bottom:2px solid #b8860b;padding:0 20px 5px}.recipient-suffix{font-size:24px;color:#333}.certificate-body{font-size:20px;line-height:2;color:#1a1a1a;text-align:justify;text-justify:inter-ideograph;margin:0 20px 50px}.certificate-body .highlight{font-weight:700;color:#8b0000;font-size:24px}.certificate-footer{margin-top:60px;font-size:16px;color:#333}.certificate-number{font-family:monospace;font-size:14px;color:#666;margin-bottom:20px}.certificate-date{font-size:18px}.certificate-seal{position:absolute;bottom:60px;right:60px}.seal-placeholder{width:80px;height:80px;border:3px solid #8b0000;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#8b0000;text-align:center;line-height:1.3;background:#fffc}.receipt-paper{width:200mm;background:#fffff8;box-shadow:0 4px 20px #00000026;padding:8mm;font-family:標楷體,DFKai-SB,KaiTi,serif}.receipt-outer-border{border:3px solid #c41e3a;padding:3mm}.receipt-inner-border{border:1px solid #c41e3a;padding:5mm}.receipt-header{text-align:center;margin-bottom:5mm;padding-bottom:3mm;border-bottom:2px solid #333}.receipt-title{font-size:32px;font-weight:700;letter-spacing:16px;color:#c41e3a;margin-bottom:3mm}.receipt-temple-name{font-size:18px;font-weight:700;color:#333;letter-spacing:4px}.receipt-temple-address{font-size:12px;color:#666;margin-top:2mm}.receipt-number-date{display:flex;justify-content:space-between;font-size:13px;color:#333;margin:4mm 0;padding:2mm 0;border-bottom:1px dashed #999}.receipt-table{width:100%;border-collapse:collapse;margin:4mm 0}.receipt-table th,.receipt-table td{border:1px solid #333;padding:3mm 4mm;text-align:center;font-size:14px}.receipt-table th{background:#f5f5f0;font-weight:700;color:#333;width:25%}.receipt-table td{background:#fff;color:#1a1a1a}.receipt-table .amount-cell{font-size:16px;font-weight:700}.receipt-table .chinese-amount{color:#c41e3a;letter-spacing:2px}.receipt-table .numeric-amount{font-family:Courier New,monospace;font-size:18px}.receipt-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:5mm;padding-top:3mm}.receipt-note{font-size:12px;color:#666;line-height:1.6}.receipt-note-item{margin-bottom:1mm}.receipt-seal-area{text-align:center;min-width:80px}.receipt-seal-label{font-size:12px;color:#666;margin-bottom:2mm}.receipt-seal-box{width:70px;height:70px;border:2px solid #c41e3a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#c41e3a;text-align:center;line-height:1.3;background:#ffffffe6}.receipt-stub{border-top:2px dashed #999;margin-top:5mm;padding-top:4mm}.receipt-stub-title{text-align:center;font-size:14px;color:#666;margin-bottom:3mm}.receipt-stub-info{display:flex;justify-content:space-between;font-size:12px;color:#333}.receipt-stub-item{display:flex;gap:2mm}.receipt-stub-label{color:#666}.receipt-stub-value{font-weight:700}@media print{.no-print{display:none!important}.certificates-container{padding:0}.certificate-preview{padding:0;background:none;min-height:auto}.certificate-paper,.receipt-paper{box-shadow:none;width:100%;min-height:auto;margin:0}@page{size:A4;margin:0}}@media(max-width:768px){.certificates-filters{flex-direction:column;align-items:stretch}.search-input{min-width:100%}.certificate-paper{width:100%;min-height:auto;padding:10mm}.certificate-border{padding:10mm}.certificate-title{font-size:32px;letter-spacing:12px}.certificate-temple{font-size:20px}.certificate-recipient{font-size:24px}.certificate-body{font-size:16px}}.notifications-container{padding:20px;max-width:1200px;margin:0 auto}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.notifications-header h2{margin:0;font-size:24px;font-weight:600;color:#1f2937}.notif-stats-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media(max-width:900px){.notif-stats-cards{grid-template-columns:repeat(2,1fr)}}.notif-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;text-align:center}.notif-stat-value{font-size:24px;font-weight:700;color:#1f2937}.notif-stat-label{font-size:13px;color:#6b7280;margin-top:4px}.notifications-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px;flex-wrap:wrap}.filter-group{display:flex;gap:8px}.filter-btn{padding:8px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.filter-btn:hover{background:#e5e7eb}.filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.search-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-width:250px}.notifications-list{display:flex;flex-direction:column;gap:16px}.notification-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s}.notification-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.notif-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.notif-title{font-size:18px;font-weight:600;color:#1f2937}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.green{background:#d1fae5;color:#065f46}.status-badge.blue{background:#dbeafe;color:#1e40af}.status-badge.gray{background:#f3f4f6;color:#374151}.status-badge.red{background:#fee2e2;color:#991b1b}.notif-content-preview{font-size:14px;color:#6b7280;line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-card-footer{display:flex;justify-content:space-between;align-items:center}.notif-meta{display:flex;align-items:center;gap:12px}.notif-channels{display:flex;gap:6px}.channel-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.channel-badge.line{background:#06c755;color:#fff}.channel-badge.app{background:#3b82f6;color:#fff}.notif-audience,.notif-count{font-size:13px;color:#6b7280}.notif-time{font-size:12px;color:#9ca3af}.notif-stats-bar{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;display:flex;gap:24px}.stat-item{display:flex;gap:8px;font-size:13px}.stat-label{color:#6b7280}.stat-value{font-weight:600;color:#1f2937}.step-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:32px}.step{display:flex;flex-direction:column;align-items:center;gap:8px}.step-number{width:36px;height:36px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.step.active .step-number{background:#3b82f6;color:#fff}.step.completed .step-number{background:#10b981;color:#fff}.step-label{font-size:13px;color:#6b7280}.step.active .step-label{color:#3b82f6;font-weight:500}.step-line{width:80px;height:2px;background:#e5e7eb;margin:0 16px 24px}.notification-form{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.form-section{margin-bottom:24px}.form-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937}.channel-selector{display:flex;gap:16px}.channel-option{flex:1;padding:16px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s}.channel-option:hover{border-color:#3b82f6}.channel-option.selected{border-color:#3b82f6;background:#eff6ff}.channel-option input{display:none}.channel-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.channel-icon.line-icon{background:#06c755}.channel-icon.app-icon{background:#3b82f6}.channel-name{font-size:14px;font-weight:500;color:#1f2937}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:900px){.audience-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.audience-grid{grid-template-columns:1fr}}.audience-option{padding:14px;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s}.audience-option:hover{border-color:#3b82f6}.audience-option.selected{border-color:#3b82f6;background:#eff6ff}.audience-option input{display:none}.audience-info{display:flex;flex-direction:column;gap:4px}.audience-name{font-size:14px;font-weight:600;color:#1f2937}.audience-desc{font-size:12px;color:#6b7280}.audience-count{font-size:13px;font-weight:600;color:#3b82f6;margin-top:4px}.sub-filter{margin-top:16px;padding:16px;background:#f9fafb;border-radius:8px}.custom-filter .filter-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.custom-filter .filter-row:last-child{margin-bottom:0}.custom-filter .form-label{min-width:80px;margin:0}.range-inputs{display:flex;align-items:center;gap:8px}.range-inputs input{width:100px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.target-summary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:16px;display:flex;align-items:center;gap:8px;margin-bottom:24px}.target-label{font-size:14px;color:#1e40af}.target-count{font-size:20px;font-weight:700;color:#1e40af}.template-selector{display:flex;flex-wrap:wrap;gap:10px}.template-btn{padding:10px 18px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.template-btn:hover{border-color:#3b82f6}.template-btn.selected{border-color:#3b82f6;background:#3b82f6;color:#fff}.schedule-options{display:flex;gap:16px;margin-bottom:16px}.schedule-option{padding:12px 20px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.schedule-option:hover{border-color:#3b82f6}.schedule-option.selected{border-color:#3b82f6;background:#eff6ff}.schedule-option input{display:none}.preview-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}@media(max-width:900px){.preview-section{grid-template-columns:1fr}}.preview-column h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937}.line-preview{background:#7494c0;border-radius:12px;padding:20px;min-height:300px}.line-chat-bubble{max-width:280px}.line-sender{display:flex;align-items:center;gap:8px;margin-bottom:8px}.line-avatar{width:36px;height:36px;border-radius:50%;background:#06c755;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.line-name{font-size:13px;color:#fff}.line-message{background:#fff;border-radius:0 18px 18px;padding:12px 16px;margin-left:44px}.line-title{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:8px}.line-content{font-size:13px;color:#374151;line-height:1.6;white-space:pre-wrap}.line-time{font-size:11px;color:#ffffffb3;margin-left:44px;margin-top:4px}.app-preview{background:#1f2937;border-radius:12px;padding:20px;min-height:300px}.app-notification{background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 8px #0000001a}.app-notif-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.app-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.app-notif-meta{display:flex;flex-direction:column;gap:2px}.app-name{font-size:13px;font-weight:600;color:#1f2937}.app-time{font-size:11px;color:#9ca3af}.app-notif-title{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:4px}.app-notif-content{font-size:13px;color:#6b7280;line-height:1.5}.send-summary{background:#f9fafb;border-radius:12px;padding:20px;margin-bottom:24px}.send-summary h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-label{font-size:12px;color:#6b7280}.summary-value{font-size:14px;font-weight:600;color:#1f2937}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.form-label.required:after{content:" *";color:#ef4444}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6}.form-textarea{resize:vertical;min-height:120px}.form-hint{font-size:12px;color:#6b7280;margin-top:8px}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #e5e7eb}.btn-primary{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#2563eb}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{padding:10px 20px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f3f4f6}.btn-ghost{padding:10px 20px;background:transparent;color:#6b7280;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-ghost:hover{background:#f3f4f6;color:#374151}.btn-sm{padding:6px 12px;font-size:12px}.btn-danger{background:#fee2e2;color:#991b1b;border:none}.btn-danger:hover{background:#fecaca}.templates-hint{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:16px;margin-bottom:24px}.templates-hint p{margin:0 0 8px;font-size:14px;color:#92400e;font-weight:500}.variable-tags{display:flex;flex-wrap:wrap;gap:8px}.var-tag{background:#fff;border:1px solid #fcd34d;padding:4px 10px;border-radius:4px;font-size:12px;color:#78350f;font-family:monospace}.templates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:900px){.templates-grid{grid-template-columns:1fr}}.template-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.template-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.template-name{font-size:16px;font-weight:600;color:#1f2937}.category-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.category-badge.event{background:#dbeafe;color:#1e40af}.category-badge.reminder{background:#fef3c7;color:#92400e}.category-badge.festival{background:#fce7f3;color:#9d174d}.category-badge.announcement{background:#d1fae5;color:#065f46}.category-badge.custom{background:#f3f4f6;color:#374151}.template-title{font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.template-content-preview{font-size:13px;color:#6b7280;line-height:1.5;margin-bottom:16px}.template-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e5e7eb}.usage-count{font-size:12px;color:#9ca3af}.template-actions{display:flex;gap:8px}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1f2937}.modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer}.modal-close:hover{color:#1f2937}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid #e5e7eb}.loading-state,.empty-state{padding:60px 20px;text-align:center;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.detail-content{display:flex;flex-direction:column;gap:24px}.detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.detail-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.detail-card-header h3{margin:0;font-size:16px;font-weight:600;color:#1f2937}.detail-card-header h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.detail-body{padding:20px}.message-preview{background:#f9fafb;border-radius:8px;padding:16px;margin-bottom:20px}.message-preview pre{margin:0;font-family:inherit;font-size:14px;line-height:1.6;color:#1f2937;white-space:pre-wrap;word-wrap:break-word}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:768px){.detail-meta{grid-template-columns:repeat(2,1fr)}}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-label{font-size:12px;color:#6b7280}.meta-value{font-size:14px;font-weight:500;color:#1f2937;display:flex;gap:6px}.stats-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:20px;border-bottom:1px solid #e5e7eb}.stat-box{text-align:center;padding:16px;background:#f9fafb;border-radius:8px}.stat-box-value{font-size:28px;font-weight:700;color:#1f2937}.stat-box-label{font-size:13px;color:#6b7280;margin-top:4px}.channel-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:20px}@media(max-width:600px){.channel-stats{grid-template-columns:1fr}}.channel-stat-card{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.channel-stat-header{padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.channel-stat-body{display:flex;justify-content:space-around;padding:16px}.channel-stat-item{text-align:center}.channel-stat-item span{display:block;font-size:12px;color:#6b7280;margin-bottom:4px}.channel-stat-item strong{font-size:18px;font-weight:600;color:#1f2937}.detail-actions{display:flex;justify-content:flex-end;gap:12px}.staff-container{padding:24px;max-width:1400px;margin:0 auto}.staff-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.header-actions{display:flex;gap:12px;flex-wrap:wrap}.staff-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-value{font-size:28px;font-weight:700;color:#1a1a2e}.staff-filters{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-filters{display:flex;gap:8px}.filter-btn{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:20px;cursor:pointer;font-size:14px;transition:all .2s}.filter-btn:hover{border-color:#b8860b}.filter-btn.active{background:#b8860b;color:#fff;border-color:#b8860b}.role-select{padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;min-width:140px}.search-input{padding:10px 16px;border:1px solid #ddd;border-radius:8px;font-size:14px;min-width:260px}.search-input:focus{outline:none;border-color:#b8860b}.staff-table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.staff-table{width:100%;border-collapse:collapse}.staff-table th,.staff-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #eee}.staff-table th{background:#f8f9fa;font-weight:600;font-size:13px;color:#666}.staff-table tbody tr:hover{background:#fafafa}.staff-table tbody tr.row-inactive{opacity:.6}.staff-name{display:flex;align-items:center;gap:12px}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#b8860b,#daa520);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.contact-info{font-size:13px}.contact-info .email{color:#333;margin-bottom:2px}.contact-info .phone{color:#666}.created-info{font-size:13px;color:#666}.created-by{color:#999;font-size:12px}.last-login{font-size:13px;color:#666}.status-active{background:#d4edda;color:#155724}.status-inactive{background:#f8d7da;color:#721c24}.role-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;background:#e9ecef;color:#495057}.role-manager{background:#fce4ec;color:#c62828}.role-staff{background:#e3f2fd;color:#1565c0}.role-cashier{background:#e8f5e9;color:#2e7d32}.role-event{background:#f3e5f5;color:#7b1fa2}.role-viewer{background:#eceff1;color:#546e7a}.quick-actions{display:flex;gap:8px}.btn-icon.btn-danger:hover{background:#ffebee}.btn-icon.btn-success:hover{background:#e8f5e9}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.btn-danger{color:#dc3545;border-color:#dc3545}.btn-danger:hover{background:#fff5f5}.staff-form{max-width:800px}.form-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.form-section h3{margin:0 0 20px;font-size:18px;color:#1a1a2e;padding-bottom:12px;border-bottom:1px solid #eee}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.required{color:#dc3545}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#b8860b}.form-group input.error,.form-group textarea.error,.form-group select.error{border-color:#dc3545}.error-msg{display:block;color:#dc3545;font-size:12px;margin-top:4px}.form-hint{color:#666;font-size:12px;margin-top:4px}.password-input-wrapper{display:flex;gap:8px}.password-input-wrapper input{flex:1}.btn-generate{padding:10px 16px;background:#f0f0f0;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:13px;white-space:nowrap}.btn-generate:hover{background:#e0e0e0}.checkbox-group{margin-top:8px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.checkbox-label input{width:auto}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.role-card{position:relative;background:#fff;border:2px solid #eee;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s}.role-card:hover{border-color:#ddd}.role-card.selected{border-color:var(--role-color, #b8860b);background:#fffdf5}.role-card input{position:absolute;opacity:0}.role-card-content{display:flex;flex-direction:column;gap:8px}.role-name{font-weight:600;font-size:16px;color:#333}.role-desc{font-size:13px;color:#666;line-height:1.5}.permission-preview{margin-top:20px;padding:16px;background:#f8f9fa;border-radius:8px}.permission-preview h4{margin:0 0 12px;font-size:14px;color:#333}.permission-list{display:flex;flex-wrap:wrap;gap:8px}.permission-tag{display:inline-block;padding:4px 12px;background:#e9ecef;color:#495057;border-radius:16px;font-size:13px}.permission-tag.all{background:#d4edda;color:#155724}.permission-tag.readonly{background:#fff3cd;color:#856404}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px}.staff-profile-card{display:flex;align-items:center;gap:24px;background:#fff;padding:24px;border-radius:12px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#b8860b,#daa520);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;flex-shrink:0}.profile-info{flex:1}.profile-info h3{margin:0 0 8px;font-size:24px}.profile-badges{display:flex;gap:8px;margin-bottom:12px}.profile-contact{display:flex;gap:20px;color:#666;font-size:14px}.profile-stats{display:flex;gap:32px}.profile-stats .stat-item{text-align:center}.profile-stats .stat-value{font-size:24px;font-weight:700;color:#b8860b}.profile-stats .stat-label{font-size:12px;color:#666}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.info-item label{display:block;font-size:12px;color:#999;margin-bottom:4px}.info-item div{font-size:15px;color:#333}.info-note{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.info-note label{display:block;font-size:12px;color:#999;margin-bottom:8px}.permission-section{margin-top:24px;padding-top:24px;border-top:1px solid #eee}.permission-section h4{margin:0 0 12px;font-size:14px;color:#333}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.logs-header h4{margin:0;font-size:16px}.logs-count{color:#666;font-size:13px}.activity-timeline{position:relative;padding-left:32px}.activity-timeline:before{content:"";position:absolute;left:12px;top:24px;bottom:24px;width:2px;background:#eee}.timeline-item{position:relative;padding-bottom:24px}.timeline-header{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.timeline-target{color:#b8860b}.timeline-target a{color:#b8860b;text-decoration:none}.timeline-target a:hover{text-decoration:underline}.timeline-detail{font-size:13px;color:#666;margin-top:4px}.role-management-layout{display:grid;grid-template-columns:280px 1fr;gap:24px}.role-list-panel{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f;height:fit-content}.role-list-panel h3{margin:0 0 16px;font-size:16px;color:#333}.role-list{display:flex;flex-direction:column;gap:8px}.role-list-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s}.role-list-item:hover{background:#f5f5f5}.role-list-item.active{background:#fff8e1}.role-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.role-list-info{flex:1;min-width:0}.role-list-name{font-weight:500;font-size:14px;display:flex;align-items:center;gap:6px}.system-badge{font-size:10px;padding:2px 6px;background:#e9ecef;color:#666;border-radius:4px}.role-list-count{font-size:12px;color:#999;margin-top:2px}.role-detail-panel{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f}.role-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.role-detail-title{display:flex;align-items:center;gap:12px}.role-detail-title h3{margin:0;font-size:20px}.role-name-input{font-size:20px;font-weight:600;padding:8px 12px;border:1px solid #ddd;border-radius:6px}.role-detail-actions{display:flex;gap:8px}.role-description{margin-bottom:24px}.role-description p{margin:0;color:#666;font-size:14px}.role-description textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;resize:vertical}.permission-matrix h4{margin:0 0 16px;font-size:16px;color:#333}.all-permissions-notice{padding:16px;background:#d4edda;color:#155724;border-radius:8px;text-align:center}.permission-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.permission-module{border:1px solid #eee;border-radius:8px;overflow:hidden}.module-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8f9fa;font-weight:500}.module-header input{margin:0}.module-icon{font-size:18px}.module-name{flex:1}.module-count{font-size:12px;color:#999}.module-permissions{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.permission-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#666;cursor:pointer}.permission-item.checked{color:#333}.permission-item input{margin:0}.permission-dot{width:8px;height:8px;border-radius:50%;background:#ddd}.permission-dot.active{background:#27ae60}.log-filters{background:#fff;padding:20px;border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.filter-row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.log-summary{margin-bottom:16px;color:#666;font-size:14px}.log-table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.log-table{width:100%;border-collapse:collapse}.log-table th,.log-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.log-table th{background:#f8f9fa;font-weight:600;font-size:13px;color:#666}.log-table tbody tr:hover{background:#fafafa}.log-time{font-size:13px;color:#666;font-family:monospace}.staff-link{background:none;border:none;color:#b8860b;cursor:pointer;font-size:14px;padding:0}.staff-link:hover{text-decoration:underline}.action-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:12px;background:#e9ecef;color:#495057}.action-badge.action-create{background:#d4edda;color:#155724}.action-badge.action-update{background:#fff3cd;color:#856404}.action-badge.action-delete{background:#f8d7da;color:#721c24}.action-badge.action-auth{background:#e3f2fd;color:#1565c0}.action-badge.action-view{background:#f3e5f5;color:#7b1fa2}.log-content{display:flex;flex-direction:column;gap:4px}.log-target{font-weight:500;color:#333}.log-detail{font-size:13px;color:#666}.log-ua{font-size:12px;color:#999}.log-ip{font-family:monospace;font-size:13px;color:#666}.btn-pagination:not(:disabled):hover{background:#f5f5f5}.error-state{color:#dc3545}@media(max-width:768px){.staff-container{padding:16px}.staff-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-end}.staff-filters,.filter-group{flex-direction:column;align-items:stretch}.status-filters{overflow-x:auto;padding-bottom:8px}.search-input{min-width:auto}.form-row,.role-management-layout{grid-template-columns:1fr}.staff-profile-card{flex-direction:column;text-align:center}.profile-contact{flex-direction:column;gap:4px}.filter-row{flex-direction:column}.filter-item{width:100%}}.donations-container{padding:24px;max-width:1400px;margin:0 auto}.donations-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.header-left{display:flex;align-items:center;gap:16px}.header-left h2{margin:0;font-size:24px;color:#1a1a2e}.header-subtitle{color:#666;font-size:14px;margin-top:4px}.header-actions{display:flex;gap:12px}.btn-back{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:8px 12px;border-radius:6px;transition:all .2s}.btn-back:hover{background:#f0f0f0;color:#333}.btn-primary{padding:10px 20px;background:#b8860b;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-primary:hover{background:#996e09}.btn-secondary{padding:10px 20px;background:#fff;color:#333;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.btn-secondary:hover{background:#f5f5f5}.btn-danger{background:#dc3545;color:#fff;border:none}.btn-danger:hover{background:#c82333}.btn-link{background:none;border:none;color:#b8860b;cursor:pointer;font-size:14px;text-decoration:underline}.btn-link:hover{color:#996e09}.btn-icon{width:36px;height:36px;border:none;background:#f0f0f0;border-radius:8px;cursor:pointer;font-size:16px;transition:all .2s}.btn-icon:hover{background:#e0e0e0}.donation-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #0000000f}.stat-card.warning{border-left:4px solid #f39c12}.stat-card.danger{border-left:4px solid #e74c3c}.stat-icon{font-size:32px}.stat-content{flex:1}.stat-value{font-size:20px;font-weight:700;color:#1a1a2e}.stat-amount{font-size:16px;color:#b8860b;font-weight:600}.stat-label{font-size:13px;color:#666;margin-top:2px}.donation-filters{background:#fff;padding:20px;border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.filter-row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}.filter-row:last-child{margin-bottom:0}.filter-item{display:flex;flex-direction:column;gap:6px}.filter-item label{font-size:12px;color:#666}.filter-item select,.filter-item input{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:140px}.filter-item.flex-grow{flex:1;min-width:200px}.filter-item.flex-grow input{width:100%}.donation-table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.donation-table{width:100%;border-collapse:collapse}.donation-table th,.donation-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #eee}.donation-table th{background:#f8f9fa;font-weight:600;font-size:13px;color:#666;white-space:nowrap}.donation-table tbody tr:hover{background:#fafafa}.order-no{font-family:monospace;font-size:13px}.transaction-id{font-size:11px;color:#999;margin-top:2px}.donor-info .donor-name{font-weight:500}.donor-info .donor-contact{font-size:12px;color:#666}.amount-value{font-weight:600;color:#b8860b;font-size:15px}.purpose-badge{display:inline-block;padding:4px 10px;background:#e9ecef;color:#495057;border-radius:12px;font-size:12px}.paid-time{font-size:13px;color:#666}.receipt-no{font-size:11px;color:#666;margin-top:2px}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-pending{background:#fff3cd;color:#856404}.status-paid{background:#d4edda;color:#155724}.status-failed{background:#f8d7da;color:#721c24}.status-refunded{background:#e2e3e5;color:#383d41}.reconcile-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.reconcile-pending{background:#e3f2fd;color:#1565c0}.reconcile-matched{background:#d4edda;color:#155724}.reconcile-unmatched{background:#f8d7da;color:#721c24}.receipt-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.receipt-pending{background:#fff3cd;color:#856404}.receipt-issued{background:#d4edda;color:#155724}.receipt-not-required{background:#e9ecef;color:#6c757d}.receipt-cancelled{background:#f8d7da;color:#721c24}.donation-summary-card{background:linear-gradient(135deg,#b8860b,#daa520);color:#fff;border-radius:16px;padding:32px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}.summary-main{flex:1}.summary-amount{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.summary-amount .currency{font-size:24px;opacity:.8}.summary-amount .value{font-size:48px;font-weight:700}.summary-meta{display:flex;gap:12px;align-items:center}.summary-meta .order-no{font-family:monospace;opacity:.9}.summary-meta .purpose-badge{background:#fff3;color:#fff}.summary-status{display:flex;gap:24px}.summary-status .status-item{text-align:center}.summary-status .status-item label{display:block;font-size:12px;opacity:.8;margin-bottom:6px}.detail-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid #eee}.tab-btn{padding:12px 20px;background:none;border:none;cursor:pointer;font-size:14px;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab-btn:hover{color:#333}.tab-btn.active{color:#b8860b;border-bottom-color:#b8860b}.detail-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.info-group{padding:16px;background:#f8f9fa;border-radius:8px}.info-group h4{margin:0 0 16px;font-size:14px;color:#333;padding-bottom:8px;border-bottom:1px solid #eee}.info-item{margin-bottom:12px}.info-item:last-child{margin-bottom:0}.info-item label{display:block;font-size:12px;color:#999;margin-bottom:2px}.info-item div{font-size:14px;color:#333}.info-item .highlight{color:#b8860b;font-weight:600;font-size:16px}.info-item .mono{font-family:monospace}.info-item .fee{color:#dc3545}.history-timeline{position:relative;padding-left:32px;margin-top:16px}.history-timeline:before{content:"";position:absolute;left:12px;top:24px;bottom:24px;width:2px;background:#eee}.timeline-item{position:relative;padding-bottom:20px}.timeline-item:last-child{padding-bottom:0}.timeline-icon{position:absolute;left:-32px;top:0;width:24px;height:24px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;border:2px solid #eee;z-index:1}.timeline-content{background:#f8f9fa;padding:12px 16px;border-radius:8px}.timeline-header{display:flex;gap:8px;align-items:center}.timeline-action{font-weight:500;color:#333}.receipt-no-tag{font-family:monospace;font-size:12px;background:#e3f2fd;color:#1565c0;padding:2px 8px;border-radius:4px}.timeline-note{font-size:13px;color:#666;margin-top:6px}.timeline-meta{display:flex;gap:12px;margin-top:8px;font-size:12px;color:#999}.empty-history{color:#999;font-size:14px;padding:20px;text-align:center}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;padding:24px;max-width:480px;width:90%;max-height:80vh;overflow-y:auto}.modal-content h3{margin:0 0 20px;font-size:20px}.modal-body{margin-bottom:24px}.modal-body p{margin:8px 0;color:#666}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.form-group{margin-top:16px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;resize:vertical}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.reconcile-date-picker{background:#fff;padding:20px;border-radius:12px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.date-inputs{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:12px}.date-input-group{display:flex;flex-direction:column;gap:6px}.date-input-group label{font-size:12px;color:#666}.date-input-group input{padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px}.date-separator{color:#666;padding-bottom:10px}.quick-dates{display:flex;gap:8px}.quick-dates button{padding:6px 12px;background:#f0f0f0;border:none;border-radius:16px;cursor:pointer;font-size:13px;transition:all .2s}.quick-dates button:hover{background:#e0e0e0}.reconcile-summary{background:#fff;padding:24px;border-radius:12px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.reconcile-summary h3{margin:0 0 20px;font-size:18px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.summary-card{background:#f8f9fa;padding:16px;border-radius:8px;text-align:center}.summary-card.success{background:#d4edda}.summary-card.warning{background:#fff3cd}.summary-card.danger{background:#f8d7da}.summary-card.info{background:#e3f2fd}.summary-label{font-size:12px;color:#666;margin-bottom:4px}.summary-value{font-size:20px;font-weight:700;color:#333}.summary-amount{font-size:14px;color:#666;margin-top:2px}.net-total{margin-top:20px;padding-top:20px;border-top:2px solid #eee;text-align:right;font-size:16px}.net-amount{font-size:28px;font-weight:700;color:#27ae60;margin-left:12px}.reconcile-section{background:#fff;padding:24px;border-radius:12px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.reconcile-section h3{margin:0 0 16px;font-size:16px}.reconcile-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.unmatched-table-wrapper,.daily-table-wrapper{overflow-x:auto}.unmatched-table,.daily-table,.stats-table{width:100%;border-collapse:collapse}.unmatched-table th,.unmatched-table td,.daily-table th,.daily-table td,.stats-table th,.stats-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.unmatched-table th,.daily-table th,.stats-table th{background:#f8f9fa;font-weight:600;font-size:13px;color:#666}.mono{font-family:monospace}.reason{color:#dc3545;font-size:13px}.text-success{color:#27ae60}.text-danger{color:#dc3545}.text-muted{color:#999}.progress-bar-mini{display:inline-block;width:60px;height:6px;background:#eee;border-radius:3px;margin-right:8px;vertical-align:middle}.progress-bar-mini .progress-fill{height:100%;background:#27ae60;border-radius:3px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.btn-pagination{padding:8px 16px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px}.btn-pagination:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:#666;font-size:14px}.loading-state,.error-state,.empty-state{padding:60px 20px;text-align:center;color:#666;background:#fff;border-radius:12px}.loading-spinner{width:40px;height:40px;border:3px solid #eee;border-top-color:#b8860b;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.donations-container{padding:16px}.donations-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-end}.filter-row{flex-direction:column}.filter-item{width:100%}.donation-summary-card{flex-direction:column;text-align:center}.summary-amount .value{font-size:36px}.summary-status{flex-wrap:wrap;justify-content:center}.info-grid,.reconcile-stats-grid{grid-template-columns:1fr}.date-inputs{flex-direction:column;align-items:stretch}.date-separator{display:none}}
