﻿:root{--primary-color: #007bff;--primary-hover: #0056b3;--primary-dark: #0056b3;--secondary-color: #6c757d;--secondary-hover: #5a6268;--light-gray: #f8f9fa;--border-light: #e9ecef;--background-gradient: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);--text-primary: #495057;--text-secondary: #6c757d;--primary-shadow: 0 5px 15px rgba(0, 123, 255, 0.3);--card-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);--box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);--border-radius: 8px;--border-radius-lg: 12px;--border-radius-xl: 15px;--spacing: 1rem;--transition: all 0.3s ease}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--background-gradient);min-height:100vh;font-family:"Microsoft JhengHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;color:#333;margin:0;padding:0}body{color-scheme:light !important}.main-container{max-width:1200px;margin:0 auto;padding:20px}.container{max-width:1200px;margin:0 auto;padding:2rem}.btn-back{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--primary-color);color:white;text-decoration:none;border-radius:8px;font-size:14px;font-weight:500;transition:all 0.3s ease;box-shadow:0 2px 4px rgba(0,123,255,0.2)}.btn-back:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,123,255,0.3);text-decoration:none;color:white}.btn-back i{font-size:16px}.btn-back span{font-size:14px}.header-section{background:var(--primary-color);padding:20px;text-align:center;color:white;padding:30px;border-radius:var(--border-radius);margin-bottom:30px;box-shadow:var(--box-shadow)}.header-section h1{color:white;font-weight:bold;margin:0;text-shadow:0 2px 4px rgba(0,0,0,0.1);font-size:2.2rem;display:flex;align-items:center;justify-content:center;gap:15px}.header-section h1 i{margin-right:10px}.header-section p{color:rgba(255,255,255,0.9);margin-top:1rem;font-size:1.1rem}.header{text-align:center;margin-bottom:3rem}.header h1{background:var(--primary-color);color:white;padding:2rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow);margin-bottom:1rem;font-size:2.5rem;font-weight:600}.header p{color:var(--text-secondary);font-size:1.1rem;margin-top:1rem}.section-card{background:white;border:1px solid rgba(0,123,255,0.15);border-radius:var(--border-radius-lg);padding:20px;margin-bottom:20px;box-shadow:0 2px 10px rgba(0,0,0,0.05)}.contract-info-card{background:linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);border:2px solid var(--primary-color);border-radius:var(--border-radius);padding:25px;margin-bottom:25px}.section-title{color:var(--primary-color);font-weight:600;margin-bottom:15px;display:flex;align-items:center;gap:10px}.section-title i{margin-right:10px}.system-info{background:#000;padding:1.5rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow);margin-bottom:2rem;border-left:4px solid var(--primary-color)}.system-info h3{color:var(--primary-color);margin-bottom:0.5rem}.custom-input,.custom-select{background:white;border:1px solid #e3f2fd;color:#333;border-radius:var(--border-radius);transition:var(--transition);padding:8px 12px;width:100%;box-sizing:border-box;font-size:1rem}.custom-input::placeholder,.custom-select::placeholder{color:#999}.custom-input:focus,.custom-select:focus{background:#f8fcff;border-color:var(--primary-color);box-shadow:0 0 0 0.125em rgba(0,123,255,0.25);outline:none}select.custom-input,.custom-select{height:auto;padding:0.75rem}textarea.custom-input{resize:vertical;min-height:80px}.custom-label{color:var(--text-primary);font-weight:500;margin-bottom:5px;display:block}.action-buttons{display:flex;gap:8px;justify-content:center}.file-upload-area{border:2px dashed rgba(0,123,255,0.3);border-radius:var(--border-radius-lg);padding:30px;text-align:center;background:rgba(0,123,255,0.05);transition:var(--transition);cursor:pointer}.file-upload-area:hover,.file-upload-area.dragover{border-color:var(--primary-color);background:rgba(0,123,255,0.1);transform:scale(1.02)}.file-upload-area .upload-icon,.file-upload-area .fa-cloud-upload-alt{font-size:3rem;color:var(--primary-color);margin-bottom:15px}.equipment-table,.table-container{background:white;border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.05)}.table,.custom-table{background:white;color:#333;width:100%;border-collapse:collapse;margin:0}.table th,.custom-table th{background:var(--light-gray);color:var(--primary-color);border:1px solid var(--border-light);font-weight:600;padding:12px;text-align:left}.table th.custom-table,.custom-table th.custom-table{background:var(--primary-color);color:white;text-align:center;padding:15px 12px}.table td,.custom-table td{border:1px solid var(--border-light);background:white;padding:12px;text-align:center;vertical-align:middle}.table tbody tr:hover,.custom-table tbody tr:hover{background:rgba(0,123,255,0.05)}.table .is-striped tbody tr:nth-child(even),.custom-table .is-striped tbody tr:nth-child(even){background:#f8f9fa}.table .is-hoverable tbody tr:hover,.custom-table .is-hoverable tbody tr:hover{background:rgba(0,123,255,0.05)}.modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5)}.modal.is-active{display:flex;align-items:center;justify-content:center}.modal-background{position:absolute;top:0;left:0;width:100%;height:100%}.modal-card{background:white;border-radius:var(--border-radius-xl);border:1px solid rgba(0,123,255,0.1);width:90%;max-width:600px;max-height:90vh;overflow:hidden;z-index:10000}.modal-card-head,.modal-header{background:var(--primary-color);border:none;border-radius:var(--border-radius-xl) var(--border-radius-xl) 0 0;padding:20px;display:flex;justify-content:space-between;align-items:center;color:white}.modal-card-head .btn-close,.modal-header .btn-close{filter:invert(1)}.modal-card-title,.modal-title{color:white;font-weight:600;margin:0}.modal-card-body{padding:20px;max-height:60vh;overflow-y:auto}.modal-card-foot,.modal-footer{background:var(--light-gray);border-top:1px solid var(--border-light);padding:15px 20px;display:flex;gap:10px;justify-content:flex-end}.delete{background:rgba(255,255,255,0.3);border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;position:relative}.delete:hover{background:rgba(255,255,255,0.5)}.delete::before,.delete::after{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;background:white;transform:translate(-50%, -50%) rotate(45deg)}.delete::after{transform:translate(-50%, -50%) rotate(-45deg)}.status-message{background:rgba(0,123,255,0.1);border:1px solid rgba(0,123,255,0.2);border-radius:var(--border-radius);color:var(--primary-color);padding:10px 15px}.alert-custom{border:none;border-radius:var(--border-radius);padding:15px 20px;margin-bottom:20px}.alert-custom.alert-success{background:#d4edda;color:#155724;border-left:4px solid #28a745}.alert-custom.alert-warning{background:#fff3cd;color:#856404;border-left:4px solid #ffc107}.alert-custom.alert-danger{background:#f8d7da;color:#721c24;border-left:4px solid #dc3545}.form-row{display:flex;gap:20px;margin-bottom:15px}.form-row .form-group{flex:1}.form-group{margin-bottom:15px}.field{margin-bottom:15px}.field.is-grouped{display:flex;gap:10px}.field.is-grouped.is-grouped-right{justify-content:flex-end}.control{position:relative}.control.has-icons-left .icon{position:absolute;left:0.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none;z-index:2}.control.has-icons-left .input{padding-left:2.5rem}.columns{display:flex;flex-wrap:wrap;gap:1rem}.columns.is-multiline{flex-wrap:wrap}.columns .column{flex:1;min-width:0}.columns .column.is-12{flex:0 0 100%}.columns .column.is-6{flex:0 0 calc(50% - 0.5rem)}.columns .column.is-4{flex:0 0 calc(33.333% - 0.67rem)}.columns .column.is-3{flex:0 0 calc(25% - 0.75rem)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.tag{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.tag.is-info{background:rgba(0,123,255,0.1);color:var(--primary-color)}.status-badge{display:inline-block;padding:0.3rem 0.8rem;border-radius:15px;font-size:0.8rem;font-weight:500;margin-left:0.5rem}.status-badge.status-ready{background:#d4edda;color:#155724}.status-badge.status-development{background:#fff3cd;color:#856404}.is-loading{position:relative;pointer-events:none;color:transparent !important}.is-loading::after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:spin 0.6s linear infinite}.loading-spinner{display:none;justify-content:center;align-items:center;padding:20px}.loading-spinner.show{display:flex}.spinner-border{width:2rem;height:2rem;border:0.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin 0.75s linear infinite}.spinner-border.spinner-border-sm{width:1rem;height:1rem}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px}.empty-state .empty-icon{color:var(--primary-color);margin-bottom:15px}.contract-info-row{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:20px;margin-bottom:15px}.info-item{display:flex;align-items:center;gap:10px}.info-label{font-weight:600;color:var(--primary-color);min-width:80px}.info-value{font-weight:500;color:#333}.summary-info{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-top:2px solid var(--border-light);margin-top:20px}.equipment-count{font-weight:600;color:var(--primary-color)}.modules-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:2rem;margin-bottom:3rem}.module-card{background:white;border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden;transition:transform 0.3s ease, box-shadow 0.3s ease}.module-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px rgba(0,0,0,0.15)}.module-header{background:var(--primary-color);color:white;padding:1.5rem;text-align:center}.module-header h3{font-size:1.3rem;margin-bottom:0.5rem}.module-header .module-code{background:rgba(255,255,255,0.2);padding:0.3rem 0.8rem;border-radius:15px;font-size:0.9rem;display:inline-block}.module-content{padding:1.5rem}.module-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.module-features{margin-bottom:1.5rem}.module-features h4{color:#333;margin-bottom:0.8rem;font-size:1rem}.features-list{list-style:none}.features-list li{padding:0.3rem 0;color:var(--text-secondary);font-size:0.9rem}.features-list li::before{content:"✓";color:var(--primary-color);font-weight:bold;margin-right:0.5rem}.module-actions{display:flex;gap:0.8rem;flex-wrap:wrap}.footer{text-align:center;padding:2rem;color:var(--text-secondary);border-top:1px solid var(--border-light);margin-top:3rem}@media (max-width: 768px){.main-container{margin:10px 5px}.main-container.full-width{padding:15px}.container{padding:1rem}.section-card{padding:20px}.header-section h1{font-size:1.8rem;padding:1.5rem}.header h1{font-size:2rem;padding:1.5rem}.form-row{flex-direction:column;gap:0}.contract-info-row{grid-template-columns:1fr;gap:15px}.table-container{overflow-x:auto}.table,.custom-table{font-size:14px}.table th,.table td,.custom-table th,.custom-table td{padding:8px}.btn-action{padding:3px 6px;font-size:10px}.toolbar{flex-direction:column;align-items:stretch}.btn-group{justify-content:center;flex-direction:column}.btn-group .btn{flex:none}.modules-grid{grid-template-columns:1fr;gap:1.5rem}.module-actions{flex-direction:column}.columns{flex-direction:column}.columns .column{flex:0 0 100%}}.has-text-centered{text-align:center}.has-text-right{text-align:right}.has-text-left{text-align:left}.is-hidden{display:none !important}.is-fullwidth{width:100%}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mt-3{margin-top:1rem}.me-2{margin-right:0.5rem}.ms-2{margin-left:0.5rem}.text-muted{color:var(--text-secondary)}.text-primary{color:var(--primary-color)}.text-danger{color:#dc3545}.fw-bold{font-weight:600}.d-flex{display:flex}.justify-content-between{justify-content:space-between}.justify-content-center{justify-content:center}.align-items-center{align-items:center}.align-items-end{align-items:flex-end}.w-100{width:100%}.row{display:flex;flex-wrap:wrap;gap:1rem}.col-md-6{flex:0 0 calc(50% - 0.5rem)}.col-md-8{flex:0 0 calc(66.666% - 0.67rem)}.col-md-4{flex:0 0 calc(33.333% - 0.33rem)}.col-md-12{flex:0 0 100%}@media (max-width: 768px){.col-md-6,.col-md-8,.col-md-4,.col-md-12{flex:0 0 100%}}.status-ui-pending{display:inline-block;background:rgba(0,123,255,0.1);color:#007bff;font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;margin-left:8px;border:1px solid rgba(0,123,255,0.2)}.status-ui-design{display:inline-block;background:rgba(23,162,184,0.1);color:#17a2b8;font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;margin-left:8px;border:1px solid rgba(23,162,184,0.2)}.status-api-missing{display:inline-block;background:rgba(220,53,69,0.1);color:#dc3545;font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;margin-left:8px;border:1px solid rgba(220,53,69,0.2)}.status-dev-pending{display:inline-block;background:rgba(255,107,107,0.1);color:#ff6b6b;font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;margin-left:8px;border:1px solid rgba(255,107,107,0.2)}.status-in-progress{display:inline-block;background:rgba(255,193,7,0.1);color:#ffc107;font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;margin-left:8px;border:1px solid rgba(255,193,7,0.3)}.status-completed{display:inline-block;background:rgba(40,167,69,0.1);color:#28a745;font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;margin-left:8px;border:1px solid rgba(40,167,69,0.2)}.card-grid{background:white;border:1px solid rgba(0,123,255,0.15);border-radius:var(--border-radius-lg);padding:20px;margin-bottom:20px;box-shadow:0 2px 10px rgba(0,0,0,0.05)}.status-summary{display:flex;gap:20px;align-items:center;flex-wrap:wrap}@media (max-width: 768px){.status-summary{gap:10px;justify-content:center}}.status-item{display:flex;align-items:center;gap:5px;padding:8px 12px;border-radius:6px;font-size:0.875rem;font-weight:500}.status-item.pending{background:rgba(255,243,205,0.8);color:#856404;border:1px solid #ffeaa7}.status-item.approved{background:rgba(212,237,218,0.8);color:#155724;border:1px solid #a3d977}.status-item.rejected{background:rgba(248,215,218,0.8);color:#721c24;border:1px solid #f5a3aa}.status-item i{font-size:0.8rem}.status-filter option.status-pending{background:#fff3cd;color:#856404}.status-filter option.status-approved{background:#d4edda;color:#155724}.status-filter option.status-rejected{background:#f8d7da;color:#721c24}.status-filter option.status-inspect{background:#d1ecf1;color:#0c5460}.status-filter option.status-closed{background:#e2e3e5;color:#383d41}.tag{font-weight:500;border:1px solid}.tag[class*="待審核"]{background:#fff3cd;color:#856404;border-color:#ffeaa7}.tag[class*="已審核"]{background:#d4edda;color:#155724;border-color:#a3d977}.tag[class*="退回"]{background:#f8d7da;color:#721c24;border-color:#f5a3aa}.tag[class*="工檢"]{background:#d1ecf1;color:#0c5460;border-color:#7dd3fc}.tag[class*="結案"]{background:#e2e3e5;color:#383d41;border-color:#ced4da}.tag[class*="同意"]{background:#d4edda;color:#155724;border-color:#a3d977}.pagination-container{display:flex;justify-content:center;margin-top:20px;padding:20px 0;border-top:1px solid var(--border-light)}.pagination .pagination-previous,.pagination .pagination-next{background:var(--primary-color);color:white;border:none}.pagination .pagination-previous:hover,.pagination .pagination-next:hover{background:var(--primary-hover)}.pagination .pagination-previous:disabled,.pagination .pagination-next:disabled{opacity:0.5;cursor:not-allowed}.pagination .pagination-link{border:1px solid var(--border-light)}.pagination .pagination-link.is-current{background:var(--primary-color);color:white;border-color:var(--primary-color)}.pagination .pagination-link:hover:not(.is-current){background:rgba(0,123,255,0.1);border-color:var(--primary-color)}.review-modal-card{width:95%;max-width:900px;max-height:90vh}.review-info-section,.review-photos-section,.review-action-section{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid var(--border-light)}.review-info-section:last-child,.review-photos-section:last-child,.review-action-section:last-child{border-bottom:none;margin-bottom:0}.review-section-title{color:var(--primary-color);font-weight:600;margin-bottom:15px;display:flex;align-items:center;gap:8px;font-size:1.1rem}.review-section-title i{font-size:1rem}.review-info-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:15px}@media (max-width: 768px){.review-info-grid{grid-template-columns:1fr;gap:10px}}.photo-container{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:20px}@media (max-width: 768px){.photo-container{grid-template-columns:1fr;gap:15px}}.photo-item{text-align:center}.photo-wrapper{position:relative;border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--box-shadow);transition:var(--transition)}.photo-wrapper:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,0.15)}.photo-wrapper:hover .photo-overlay{opacity:1}.photo-wrapper img{width:100%;height:200px;object-fit:cover;cursor:pointer;transition:var(--transition)}.photo-wrapper img:hover{transform:scale(1.05)}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition)}.photo-action-btn{background:var(--primary-color);color:white;border:none;padding:8px 16px;border-radius:var(--border-radius);font-size:0.875rem;cursor:pointer;transition:var(--transition)}.photo-action-btn:hover{background:var(--primary-hover);transform:scale(1.05)}.photo-action-btn.is-main{background:#ffc107;color:#212529}.photo-action-btn.is-main:hover{background:#e0a800}.photo-action-btn i{margin-right:5px}.photo-label{margin-top:10px;font-weight:500;color:var(--text-primary)}.status-buttons{display:grid;grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));gap:10px;margin-bottom:15px}@media (max-width: 768px){.status-buttons{grid-template-columns:repeat(2, 1fr)}}.status-btn{padding:12px 16px;border:2px solid;border-radius:var(--border-radius);background:white;cursor:pointer;transition:var(--transition);font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px}.status-btn.approve-btn{border-color:#28a745;color:#28a745}.status-btn.approve-btn:hover,.status-btn.approve-btn.is-selected{background:#28a745;color:white}.status-btn.reject-btn{border-color:#dc3545;color:#dc3545}.status-btn.reject-btn:hover,.status-btn.reject-btn.is-selected{background:#dc3545;color:white}.status-btn.inspect-btn{border-color:var(--primary-color);color:var(--primary-color)}.status-btn.inspect-btn:hover,.status-btn.inspect-btn.is-selected{background:var(--primary-color);color:white}.status-btn.close-btn{border-color:var(--secondary-color);color:var(--secondary-color)}.status-btn.close-btn:hover,.status-btn.close-btn.is-selected{background:var(--secondary-color);color:white}.status-btn.is-selected{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,0.2)}.photo-modal-content{background:white;border-radius:var(--border-radius-lg);max-width:80vw;max-height:80vh;position:relative;overflow:hidden}.photo-modal-header{background:var(--primary-color);color:white;padding:15px 20px;display:flex;justify-content:space-between;align-items:center}.photo-modal-header h4{margin:0;font-size:1.2rem;font-weight:600}.photo-modal-header .delete{background:rgba(255,255,255,0.3)}.photo-modal-header .delete:hover{background:rgba(255,255,255,0.5)}.photo-modal-body{padding:20px;text-align:center}.photo-modal-body img{max-width:100%;max-height:60vh;object-fit:contain;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.notification-toast{position:fixed;top:20px;right:20px;z-index:10000;min-width:300px;animation:slideInRight 0.3s ease}@media (max-width: 768px){.notification-toast{right:10px;left:10px;min-width:auto}}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@media (max-width: 768px){.review-modal-card{width:95%;margin:20px auto}.photo-container{grid-template-columns:1fr}.status-buttons{grid-template-columns:1fr}.photo-wrapper img{height:150px}.toolbar{flex-direction:column;gap:15px;align-items:stretch}.toolbar .status-summary{justify-content:center}}.equipment-table .buttons{justify-content:center;gap:5px}.equipment-table .buttons .button{min-width:auto;padding:6px 10px}.equipment-table .buttons .button.is-small{font-size:0.75rem}.empty-state .empty-icon{color:var(--primary-color) !important;opacity:0.5}:root{--primary-color: #007bff;--primary-hover: #0056b3;--primary-dark: #004085;--secondary-color: #6c757d;--secondary-hover: #5a6268;--sidebar-bg: #2c5aa0;--sidebar-hover: #235088;--sidebar-active: #1a4480;--main-bg: #f5f6fa;--card-bg: white;--text-primary: #ffffff;--text-secondary: #e1ecf4;--text-light: #b8d4ed;--text-dark: #333333;--text-muted: #6c757d;--shadow-sidebar: 2px 0 8px rgba(0, 0, 0, 0.15);--shadow-card: 0 2px 8px rgba(0, 0, 0, 0.1);--shadow-hover: 0 4px 16px rgba(0, 123, 255, 0.2);--border-radius: 8px;--border-radius-lg: 12px;--sidebar-width: 280px;--sidebar-collapsed-width: 80px;--transition: all 0.3s ease;--transition-fast: all 0.2s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Microsoft JhengHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;background:var(--main-bg);color:var(--text-dark);line-height:1.5;overflow-x:hidden;color-scheme:light !important}body.sidebar-open{overflow:hidden}.app-container{display:flex;min-height:100vh;position:relative}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);color:var(--text-primary);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:1000;box-shadow:var(--shadow-sidebar);transition:var(--transition)}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-text-container,.sidebar.collapsed .nav-section-title,.sidebar.collapsed .user-name,.sidebar.collapsed .version{opacity:0;visibility:hidden}.sidebar.collapsed .sidebar-header{justify-content:center}.sidebar.collapsed .nav-section-title{display:none}.sidebar.collapsed .nav-link{justify-content:center;padding:12px}.sidebar.collapsed .nav-link i{margin-right:0}.sidebar.collapsed .user-info{justify-content:center}.sidebar-header{padding:20px;border-bottom:1px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:space-between;min-height:70px;background:var(--primary-color)}.brand-logo{display:flex;align-items:center;gap:12px}.brand-logo i{font-size:24px;color:white}.brand-text{font-size:18px;font-weight:600;transition:var(--transition)}.sidebar-toggle{background:none;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:8px;border-radius:4px;transition:var(--transition-fast)}.sidebar-toggle:hover{color:var(--text-primary);background:rgba(255,255,255,0.1)}.sidebar-toggle.mobile-only{display:none}.sidebar-nav{flex:1;padding:20px 0;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.3);border-radius:2px}.nav-section{margin-bottom:30px}.nav-section:last-child{margin-bottom:0}.nav-section-title{padding:0 20px 10px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-light);display:flex;align-items:center;gap:8px;letter-spacing:0.5px;transition:var(--transition)}.nav-section-title i{font-size:14px}.nav-list{list-style:none}.nav-item.status-development .nav-link{position:relative}.nav-link{display:flex;align-items:center;padding:12px 20px;color:var(--text-secondary);text-decoration:none;transition:var(--transition-fast);position:relative;border-left:3px solid transparent}.nav-link:hover{color:var(--text-primary);background:var(--sidebar-hover);border-left-color:white}.nav-link.active{color:var(--text-primary);background:var(--sidebar-active);border-left-color:white}.nav-link i{font-size:16px;margin-right:12px;min-width:16px;text-align:center}.nav-text-container{flex:1;display:flex;flex-direction:column;gap:2px}.nav-text{font-weight:500;transition:var(--transition);font-size:14px;line-height:1.3}.nav-code{font-size:10px;color:var(--text-light);background:rgba(255,255,255,0.15);padding:2px 6px;border-radius:4px;font-family:'Courier New', monospace;transition:var(--transition);align-self:flex-start;opacity:0.9}.status-badge{font-size:10px;background:#ffc107;color:#212529;padding:2px 6px;border-radius:4px;margin-left:8px;font-weight:500}.sidebar-footer{padding:20px;border-top:1px solid rgba(255,255,255,0.2);background:var(--primary-dark)}.user-info{display:flex;align-items:center;gap:10px;margin-bottom:10px}.user-info i{font-size:20px;color:white}.user-name{font-size:14px;font-weight:500;transition:var(--transition)}.system-info{text-align:center}.version{font-size:12px;color:var(--text-light);transition:var(--transition)}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;transition:var(--transition)}.main-content.expanded{margin-left:var(--sidebar-collapsed-width)}.top-header{background:white;padding:0 24px;height:70px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 4px rgba(0,0,0,0.08);border-bottom:1px solid #e9ecef;position:sticky;top:0;z-index:100}.header-title h1{font-size:24px;color:var(--primary-color);font-weight:600;margin:0}.header-actions{display:flex;gap:8px}.header-btn{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:8px;border-radius:6px;transition:var(--transition-fast)}.header-btn:hover{color:var(--primary-color);background:rgba(0,123,255,0.1)}.content-body{flex:1;padding:30px;overflow-y:auto}.dashboard-section{max-width:1200px;margin:0 auto}.welcome-banner{text-align:left;margin-bottom:40px;padding:20px 0}.welcome-banner h2{font-size:32px;color:var(--text-dark);margin-bottom:8px;font-weight:600}.welcome-banner p{font-size:16px;color:var(--text-muted);margin:0}.service-cards-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:20px;margin-bottom:50px}.service-card{background:var(--card-bg);border-radius:var(--border-radius-lg);padding:24px;box-shadow:var(--shadow-card);transition:var(--transition);border:1px solid #e9ecef;cursor:pointer;position:relative;overflow:hidden}.service-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary-color);transform:scaleY(0);transition:transform 0.3s ease}.service-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.1);border-color:var(--primary-color)}.service-card:hover::before{transform:scaleY(1)}.service-card.primary::before{background:var(--primary-color)}.service-card.secondary::before{background:var(--secondary-color)}.service-card.accent::before{background:#28a745}.service-card.info::before{background:#17a2b8}.service-card.warning::before{background:#ffc107}.service-card.success::before{background:#28a745}.service-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.service-card.primary .service-icon{background:rgba(0,123,255,0.1);color:var(--primary-color)}.service-card.secondary .service-icon{background:rgba(108,117,125,0.1);color:var(--secondary-color)}.service-card.accent .service-icon{background:rgba(40,167,69,0.1);color:#28a745}.service-card.info .service-icon{background:rgba(23,162,184,0.1);color:#17a2b8}.service-card.warning .service-icon{background:rgba(255,193,7,0.1);color:#ffc107}.service-card.success .service-icon{background:rgba(40,167,69,0.1);color:#28a745}.service-icon i{font-size:28px}.service-content h3{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--text-dark)}.service-content p{font-size:14px;color:var(--text-muted);line-height:1.5;margin:0}.templates-section{margin-top:60px}.templates-section h3{font-size:24px;font-weight:600;margin-bottom:8px;color:var(--text-dark)}.templates-section>p{font-size:16px;color:var(--text-muted);margin-bottom:30px}.template-cards{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:20px}.template-card{background:var(--card-bg);border-radius:var(--border-radius);padding:20px;box-shadow:var(--shadow-card);transition:var(--transition);border:1px solid #e9ecef;cursor:pointer;display:flex;align-items:center;gap:16px;position:relative}.template-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.1);border-color:var(--primary-color)}.template-icon{width:50px;height:50px;background:rgba(0,123,255,0.1);color:var(--primary-color);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.template-icon i{font-size:24px}.template-info{flex:1}.template-info h4{font-size:16px;font-weight:600;margin-bottom:4px;color:var(--text-dark)}.template-info p{font-size:14px;color:var(--text-muted);margin:0;line-height:1.4}.favorite-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;background:white;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s ease;z-index:10;box-shadow:0 2px 6px rgba(0,0,0,0.1)}.favorite-btn:hover{background:rgba(0,123,255,0.1);transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,0.15)}.favorite-btn:focus{outline:none;box-shadow:0 0 0 2px rgba(0,123,255,0.3)}.favorite-btn i{font-size:16px;transition:color 0.3s ease}.favorite-btn i.fas{color:#e74c3c}.favorite-btn i.far{color:#6c757d}.tabs{margin-bottom:1.5rem}.tab-content{min-height:200px}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-state .empty-icon{opacity:0.5;margin-bottom:15px}.empty-state p{margin-bottom:10px}.empty-state p.is-size-7{font-size:0.875rem;color:var(--text-secondary)}.modal-card{width:90%;max-width:600px}#searchResults{max-height:300px;overflow-y:auto}.status-section{background:var(--card-bg);border-radius:var(--border-radius-lg);padding:24px;box-shadow:var(--shadow-card)}.status-section h3{font-size:20px;font-weight:600;margin-bottom:20px;color:var(--text-dark)}.status-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:20px}.status-item{display:flex;align-items:center;gap:12px;padding:16px;background:rgba(0,123,255,0.05);border-radius:var(--border-radius);border:1px solid rgba(0,123,255,0.1)}.status-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.status-icon.success{background:rgba(40,167,69,0.1);color:#28a745}.status-icon.warning{background:rgba(255,193,7,0.1);color:#ffc107}.status-icon.danger{background:rgba(220,53,69,0.1);color:#dc3545}.status-icon i{font-size:18px}.status-info{flex:1}.status-label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:2px;text-transform:uppercase;letter-spacing:0.5px}.status-value{display:block;font-size:16px;font-weight:600;color:var(--text-dark)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-container .loading-spinner{font-size:2rem;color:var(--primary-color);margin-bottom:20px}.loading-container .loading-spinner i{animation:spin 1s linear infinite}.loading-container p{color:var(--text-muted);font-size:16px}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.error-container .error-icon{font-size:3rem;color:#dc3545;margin-bottom:20px}.error-container h3{color:var(--text-dark);margin-bottom:10px;font-size:1.5rem}.error-container p{color:var(--text-muted);margin-bottom:30px;font-size:16px}.error-container .btn{padding:12px 24px;background:var(--primary-color);color:white;border:none;border-radius:var(--border-radius);text-decoration:none;font-weight:500;cursor:pointer;transition:var(--transition)}.error-container .btn:hover{background:var(--primary-hover);transform:translateY(-1px)}#dynamicContent{min-height:400px;position:relative}.mobile-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:999;opacity:0;visibility:hidden;transition:var(--transition)}.mobile-backdrop.active{opacity:1;visibility:visible}@media (max-width: 1200px){.quick-access-grid{grid-template-columns:repeat(auto-fit, minmax(250px, 1fr))}}@media (max-width: 768px){.sidebar{transform:translateX(-100%);width:var(--sidebar-width)}.sidebar.mobile-open{transform:translateX(0)}.sidebar.collapsed{width:var(--sidebar-width)}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-text-container,.sidebar.collapsed .nav-section-title,.sidebar.collapsed .user-name,.sidebar.collapsed .version{opacity:1;visibility:visible}.sidebar.collapsed .sidebar-header{justify-content:space-between}.sidebar.collapsed .nav-section-title{display:flex}.sidebar.collapsed .nav-link{justify-content:flex-start;padding:12px 20px}.sidebar.collapsed .nav-link i{margin-right:12px}.sidebar.collapsed .user-info{justify-content:flex-start}.main-content{margin-left:0}.main-content.expanded{margin-left:0}.sidebar-toggle.mobile-only{display:block}.top-header{padding:0 16px}.top-header .header-title h1{font-size:20px}.content-body{padding:20px 16px}.welcome-banner{text-align:center;margin-bottom:30px}.welcome-banner h2{font-size:28px}.service-cards-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:20px}.template-cards{grid-template-columns:1fr;gap:16px}.template-card{padding:16px}.favorite-btn{width:28px;height:28px;top:8px;right:8px}.favorite-btn i{font-size:14px}.status-grid{grid-template-columns:1fr;gap:12px}.status-item{padding:12px}}@media (max-width: 480px){.content-body{padding:16px 12px}.service-card{padding:16px}.service-icon{width:50px;height:50px}.service-icon i{font-size:24px}.service-content h3{font-size:16px}.service-content p{font-size:13px}.template-card{padding:14px;flex-direction:column;text-align:center;gap:12px}.template-icon{width:40px;height:40px}.template-icon i{font-size:20px}.status-section{padding:20px}.status-section h3{font-size:18px}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn 0.5s ease-out}.slide-in-left{animation:slideInLeft 0.5s ease-out}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mt-2{margin-top:0.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.align-items-center{align-items:center}.w-100{width:100%}.h-100{height:100%}@media print{.sidebar,.top-header,.mobile-backdrop{display:none}.main-content{margin-left:0}.content-body{padding:0}.template-card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}}.template-card.highlighted{border-color:var(--primary-color);background-color:rgba(0,123,255,0.05)}.template-card.hidden{display:none}#searchStats{background:#d1ecf1;border:1px solid #bee5eb;border-radius:6px;padding:12px 16px;margin-bottom:20px;display:none}#searchStats.show{display:block}.search-keyword{background:var(--primary-color);color:white;padding:2px 8px;border-radius:4px;font-size:12px;margin-left:4px}#noResults.show{display:block}.clear-search-btn{background:var(--primary-color);color:white;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;margin-top:15px;transition:var(--transition);display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500}.clear-search-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,123,255,0.3)}.clear-search-btn i{font-size:12px}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted);display:none}.empty-state.show{display:block}.search-stats{background:#d1ecf1;border:1px solid #bee5eb;border-radius:6px;padding:12px 16px;margin-bottom:20px;display:none}.search-stats.show{display:block}.interactive-modes{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid var(--border-light);padding-bottom:10px}.mode-button{padding:12px 20px;border:none;background-color:transparent;font-weight:500;cursor:pointer;transition:color 0.3s;position:relative;color:var(--text-secondary);border-radius:var(--border-radius) var(--border-radius) 0 0}.mode-button:hover{color:var(--primary-color);background:rgba(0,123,255,0.05)}.mode-button.active{color:var(--primary-color);background:rgba(0,123,255,0.1)}.mode-button.active::after{content:'';position:absolute;left:0;bottom:-12px;width:100%;height:4px;background-color:var(--primary-color);border-radius:2px}.form-section{display:none;padding:20px 0}.form-section.active{display:block}.ai-assistant-placeholder{min-height:300px;border:2px dashed var(--border-light);border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-style:italic;text-align:center;padding:40px 20px;background:rgba(0,123,255,0.02);transition:var(--transition)}.ai-assistant-placeholder:hover{border-color:var(--primary-color);background:rgba(0,123,255,0.05)}.ai-placeholder-content{max-width:400px}.ai-placeholder-content i{font-size:3rem;color:var(--primary-color);margin-bottom:20px;display:block}.ai-placeholder-content h3{color:var(--primary-color);margin-bottom:15px;font-size:1.2rem}.ai-placeholder-content p{line-height:1.6;margin-bottom:15px}.ai-placeholder-content .example{background:rgba(0,123,255,0.1);padding:10px 15px;border-radius:var(--border-radius);font-size:0.9rem;margin-top:15px}@media (max-width: 768px){.interactive-modes{flex-direction:column;gap:5px}.mode-button{text-align:center;border-radius:var(--border-radius)}.mode-button.active::after{display:none}}.onsite-card{transition:var(--transition);border:1px solid var(--border-light)}.onsite-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,123,255,0.15)}.onsite-image{cursor:pointer;transition:var(--transition);aspect-ratio:4/3;width:100%;height:auto;object-fit:cover}.onsite-image:hover{opacity:0.9;transform:scale(1.02)}.card-footer-item{padding:0.75rem 1rem;border-right:1px solid var(--border-light);font-weight:500;transition:var(--transition);display:flex;align-items:center;gap:0.5rem;text-decoration:none}.card-footer-item:last-child{border-right:none}.card-footer-item:hover{background:rgba(0,123,255,0.05);transform:translateY(-1px)}.card-footer-item .icon{margin-right:0}.lightbox-img{max-width:90vw;max-height:80vh;border-radius:var(--border-radius);box-shadow:0 2px 16px rgba(0,0,0,0.5)}.file.has-name .file-cta{border-top-right-radius:0;border-bottom-right-radius:0}.file.has-name .file-name{border-top-left-radius:0;border-bottom-left-radius:0;border-left:0}@media (max-width: 768px){.onsite-card{margin-bottom:1rem}.card-footer-item{padding:0.5rem;font-size:0.875rem}.card-footer-item span:not(.icon){display:none}.onsite-image:hover{transform:none}}@media (max-width: 480px){.card-footer-item{justify-content:center}.card-footer-item .icon{margin-right:0.25rem}.lightbox-img{max-width:95vw;max-height:75vh}}.box .level .level-left .level-item .title.is-5{margin-bottom:0;display:flex;align-items:center;gap:0.5rem}@media (max-width: 768px){.columns.is-variable.is-3{margin:-0.5rem}.columns.is-variable.is-3 .column{padding:0.5rem}}.status-summary{display:flex;gap:15px;align-items:center;flex-wrap:wrap}@media (max-width: 768px){.status-summary{gap:8px;justify-content:center}}.status-item{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:0.875rem;font-weight:500}.status-item.pending{background:rgba(255,193,7,0.15);color:#856404;border:1px solid rgba(255,193,7,0.3)}.status-item.approved{background:rgba(40,167,69,0.15);color:#155724;border:1px solid rgba(40,167,69,0.3)}.status-item.rejected{background:rgba(220,53,69,0.15);color:#721c24;border:1px solid rgba(220,53,69,0.3)}.status-item i{font-size:0.9rem}.review-list{display:flex;flex-direction:column;gap:0}.review-list-item{padding:15px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:var(--transition)}.review-list-item:last-child{border-bottom:none}.review-list-item:hover{background:rgba(0,123,255,0.05)}.review-list-item:active{background:rgba(0,123,255,0.1)}.review-list-item .columns{display:flex !important;flex-direction:row !important;align-items:center !important;margin:0 !important;flex-wrap:nowrap}.review-list-item .columns .column{padding:0.25rem 0.5rem}.review-list-item .columns .column.is-narrow{flex:none;width:auto}.review-list-item .has-text-weight-semibold{line-height:1.4;word-break:break-word;margin-bottom:0.15rem}.review-list-item .is-size-7{margin-top:0;line-height:1.3}@media (max-width: 768px){.review-list-item{padding:12px 10px}.review-list-item .columns .column{padding:0.15rem 0.4rem}.review-list-item .has-text-weight-semibold{font-size:0.875rem;line-height:1.3}.review-list-item .is-size-7{font-size:0.75rem}.review-list-item .tag{font-size:0.7rem;padding:0.2em 0.5em}.review-list-item .icon{font-size:0.9rem}}@media (max-width: 480px){.review-list-item{padding:10px 8px}.review-list-item .has-text-weight-semibold{font-size:0.85rem;line-height:1.3}}.review-card{transition:var(--transition);height:100%;display:flex;flex-direction:column}.review-card .card-content{flex:1}.review-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,123,255,0.2)}.review-image{cursor:pointer;transition:var(--transition);width:100%;height:100%;object-fit:cover}.review-image:hover{opacity:0.9}.lightbox-img{max-width:90vw;max-height:80vh;border-radius:var(--border-radius);box-shadow:0 4px 20px rgba(0,0,0,0.5)}@media (max-width: 768px){.is-flex-direction-column-mobile{flex-direction:column;gap:10px}.is-flex-direction-column-mobile .button{width:100%}}@media (max-width: 768px){.is-fullwidth-mobile{width:100%}}.buttons.has-addons .button:not(.is-primary){background:white;color:var(--text-secondary)}.buttons.has-addons .button:not(.is-primary):hover{background:rgba(0,123,255,0.1);color:var(--primary-color)}.card-footer-item{padding:0.75rem 1rem;border-right:1px solid var(--border-light);font-weight:500;transition:var(--transition);display:flex;align-items:center;gap:0.5rem;text-decoration:none}.card-footer-item:last-child{border-right:none}.card-footer-item:hover{background:rgba(0,123,255,0.05);transform:translateY(-1px)}.card-footer-item .icon{margin-right:0}@media (max-width: 768px){.card-footer-item{padding:0.6rem 0.5rem;font-size:0.875rem}.card-footer-item span:not(.icon){display:none}}@media (max-width: 768px){.review-card{margin-bottom:1rem}.status-summary .status-item{font-size:0.75rem;padding:6px 10px}.review-list-item .title,.review-list-item .subtitle{font-size:0.9rem}.lightbox-img{max-width:95vw;max-height:75vh}}@media (max-width: 480px){.card-footer-item{padding:0.5rem 0.25rem;justify-content:center}.card-footer-item .icon{margin:0}}
/*# sourceMappingURL=all.css.map */
