html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;touch-action:manipulation;-webkit-user-select:none;user-select:none}[contenteditable],input,textarea{-webkit-user-select:text;user-select:text}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box}[role=button],a.button,button,input[type=button],input[type=submit]{-webkit-touch-callout:none;cursor:pointer;-webkit-user-select:none;user-select:none}input,select,textarea{-webkit-appearance:none;appearance:none;font-size:16px}.scrollable{-webkit-overflow-scrolling:touch;overflow-y:auto}@media (max-width:768px){#root,body,html{min-height:100vh;overflow-x:hidden;width:100%}[role=button],a.button,button,input[type=button],input[type=submit]{min-height:44px;min-width:44px}[role=button]:active,a.button:active,button:active,input[type=button]:active,input[type=submit]:active{opacity:.7;transform:scale(.98);transition:all .1s ease}input,select,textarea{border-radius:8px}.modal-overlay{-webkit-overflow-scrolling:touch;bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:9999}img{height:auto;max-width:100%}li,p,span{line-height:1.5}table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}@media (max-width:480px){body{font-size:14px}h1{font-size:24px}h2{font-size:20px}h3{font-size:18px}}@media (max-height:500px) and (orientation:landscape){.footer,.header{padding-bottom:8px!important;padding-top:8px!important}}@media (hover:none) and (pointer:coarse){button:hover{opacity:1}button:active{opacity:.8}a{margin:-8px;padding:8px}}html{scroll-behavior:smooth}.login-container{align-items:center;background-color:#f0f2f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#fff;border-radius:8px;max-width:450px;padding:40px 30px;width:100%}.login-header{margin-bottom:40px;text-align:center}.login-logo{border-radius:12px;height:72px;margin-bottom:16px;object-fit:cover;width:72px}.login-title{color:#333;font-size:24px;font-weight:500;margin:0 0 8px}.login-subtitle{color:#999;font-size:14px;margin:0}.login-form{margin-bottom:24px}.input-group{margin-bottom:20px}.login-input{border:1px solid #e0e0e0;border-radius:4px;box-sizing:border-box;font-size:14px;outline:none;padding:14px 16px 14px 48px;transition:border-color .3s;width:100%}.login-input:focus{border-color:#1976d2}.login-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.toggle-password{background:none;border:none;font-size:18px;padding:0}.toggle-password:hover{opacity:.7}.login-button{background-color:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;margin-top:8px;padding:14px;transition:background-color .3s;width:100%}.login-button:hover:not(:disabled){background-color:#1565c0}.login-button:disabled{background-color:#90caf9;cursor:not-allowed}.register-link-button{background:#fff;border:1px solid #1976d2;border-radius:4px;color:#1976d2;cursor:pointer;font-size:14px;margin-top:12px;padding:12px;transition:all .3s;width:100%}.register-link-button:hover:not(:disabled){background-color:#e3f2fd}.register-link-button:disabled{cursor:not-allowed;opacity:.5}.test-account-info{background-color:#e3f2fd;border-left:4px solid #1976d2;border-radius:4px;display:flex;gap:12px;padding:16px}.info-details{line-height:1.6}@media (max-width:768px){.login-container{padding:16px}.login-box{padding:32px 24px}.login-logo{height:60px;width:60px}.login-title{font-size:20px}.login-header{margin-bottom:32px}.login-input{font-size:16px;padding:16px 16px 16px 48px}.login-button,.register-link-button{font-size:16px;min-height:48px;padding:16px}.error-message,.info-message,.success-message{font-size:14px;padding:12px 16px}}@media (max-width:480px){.login-box{padding:24px 20px}.login-title{font-size:18px}.login-subtitle{font-size:13px}.login-logo{height:52px;width:52px}}.register-container{align-items:center;background-color:#f0f2f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.register-box{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;max-width:450px;padding:40px 30px;width:100%}.register-header{margin-bottom:30px;text-align:center}.register-logo{border-radius:12px;height:72px;margin-bottom:16px;object-fit:cover;width:72px}.register-title{color:#333;font-size:24px;font-weight:500;margin:0 0 8px}.register-subtitle{color:#999;font-size:14px;margin:0}.register-form{margin-bottom:24px}.input-group{margin-bottom:16px;position:relative}.input-icon{color:#666;font-size:18px;left:16px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.register-input{border:1px solid #e0e0e0;border-radius:4px;box-sizing:border-box;font-size:14px;outline:none;padding:14px 16px 14px 48px;transition:border-color .3s;width:100%}.register-input:focus{border-color:#1976d2}.register-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.toggle-password{background:#e3f2fd;border:1px solid #90caf9;border-radius:4px;color:#1565c0;cursor:pointer;font-size:12px;outline:none;padding:6px 10px;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.toggle-password:hover{background:#bbdefb}.register-button{background-color:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;margin-top:8px;padding:14px;transition:background-color .3s;width:100%}.register-button:hover:not(:disabled){background-color:#1565c0}.register-button:disabled{background-color:#90caf9;cursor:not-allowed}.back-to-login-button{background:#fff;border:1px solid #1976d2;border-radius:4px;color:#1976d2;cursor:pointer;font-size:14px;margin-top:12px;padding:12px;transition:all .3s;width:100%}.back-to-login-button:hover:not(:disabled){background-color:#e3f2fd}.back-to-login-button:disabled{cursor:not-allowed;opacity:.5}.register-notice-info{background-color:#e3f2fd;border-left:4px solid #1976d2;border-radius:4px;display:flex;gap:12px;padding:16px}.info-icon{flex-shrink:0;font-size:20px}.info-content{flex:1 1}.info-title{color:#1976d2;font-size:14px;font-weight:500;margin-bottom:8px}.info-details{color:#666;font-size:12px;line-height:1.8}.info-details div{margin-bottom:2px}.info-details div:last-child{margin-bottom:0}@media (max-width:768px){.register-container{padding:16px}.register-box{padding:32px 24px}.user-icon{font-size:48px}.register-title{font-size:20px}.register-header{margin-bottom:32px}.register-input,.register-select{font-size:16px;padding:16px 16px 16px 48px}.back-button,.register-button{font-size:16px;min-height:48px;padding:16px}.error-message,.info-message,.success-message{font-size:14px;padding:12px 16px}.info-list{font-size:13px}}@media (max-width:480px){.register-box{padding:24px 20px}.register-title{font-size:18px}.register-subtitle{font-size:13px}.user-icon{font-size:40px}.info-details{font-size:12px}}.engineering-container{background-color:#f5f7fa;min-height:100vh}.engineering-header{align-items:center;background:linear-gradient(135deg,#fff9e6,#fff3cc);box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;max-width:100%;padding:16px 32px}.engineering-content{box-sizing:border-box;margin:0 auto;max-width:1400px;padding:32px 40px;width:100%}.engineering-stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr);margin-bottom:32px;width:100%}.stat-total{background:linear-gradient(135deg,#b3e5fc,#4fc3f7)}.stat-total,.stat-total .stat-label,.stat-total .stat-number{color:#01579b}.stat-pending{background:linear-gradient(135deg,#fff9c4,#ffd54f);color:#f57f17}.stat-pending .stat-label,.stat-pending .stat-number{color:#f57f17}.stat-progress{background:linear-gradient(135deg,#e1f5fe,#81d4fa);color:#01579b}.stat-progress .stat-label,.stat-progress .stat-number{color:#01579b}.stat-completed{background:linear-gradient(135deg,#c8e6c9,#66bb6a);color:#1b5e20}.stat-completed .stat-label,.stat-completed .stat-number{color:#1b5e20}@media (max-width:1200px){.engineering-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.engineering-header{padding:16px 20px}.engineering-content{padding:20px 16px}.engineering-stats-grid{grid-template-columns:1fr}.task-card{padding:20px}.task-footer{align-items:flex-start;flex-direction:column}.tabs{flex-wrap:wrap}.tab{min-width:50%}.engineering-header{align-items:center;flex-direction:row;flex-wrap:wrap;gap:12px;padding:12px 16px!important}.header-left{flex:1 1;min-width:0}.user-info{gap:10px}.header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.role-badge{font-size:10px;padding:2px 8px}.btn-logout{font-size:13px;min-height:36px;padding:8px 14px;white-space:nowrap}.user-name{font-size:16px}.role-badge{font-size:11px;padding:3px 10px}.logout-btn{font-size:14px;min-height:44px;padding:10px 16px}.engineering-content{padding:16px}.engineering-stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)!important}.stat-card{padding:16px}.stat-value{font-size:28px}.stat-label{font-size:13px}.tabs-container{margin:16px 0;padding:0}.tabs{gap:8px;padding:0 16px}.tab{font-size:14px;min-height:44px;padding:10px 16px}.project-list{gap:16px}.project-card{padding:16px}.project-title{font-size:16px}.project-description{font-size:13px}.project-meta{flex-direction:column;gap:6px}.file-count,.project-meta{font-size:12px}.status-badge{font-size:11px;padding:4px 10px}}@media (max-width:480px){.engineering-header{padding:12px 16px}.user-info{gap:12px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.engineering-stats-grid{grid-template-columns:1fr!important}.stat-card{padding:20px 16px}.tabs{gap:6px;padding:0 12px}.tab{font-size:13px;padding:8px 12px}.project-card{padding:14px}.project-type{font-size:12px}.engineering-content{padding:12px}}@media (max-width:768px){.engineering-header{align-items:flex-start!important;flex-direction:column!important}.engineering-header .header-left{width:100%}.engineering-header .header-right{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%}.engineering-header .header-right>button{font-size:13px;justify-content:center;min-width:0;padding:10px 8px;width:100%}}.engineering-detail-container{background-color:#f5f7fa;min-height:100vh;padding-bottom:80px}.engineering-detail-header{align-items:center;background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}@media (max-width:768px){.info-grid{grid-template-columns:1fr}.upload-area{padding:20px}.file-item{align-items:flex-start;flex-direction:column}.btn-delete-file{align-self:flex-end}.folder-header{padding:12px 16px}.file-item-compact{padding:10px 16px}.upload-button-inline{display:block;margin-bottom:12px;text-align:center}.upload-group{display:block;margin-right:0}.engineering-detail-header{padding:16px 20px}.back-button{font-size:14px;min-height:44px;padding:10px 16px}.engineering-detail-content{padding:16px}.project-info-card{padding:20px 16px}.info-section{margin-bottom:16px}.section-title{font-size:15px;margin-bottom:10px}.section-value{font-size:14px}.file-folder-container{margin-bottom:16px}.file-folder-container.group-folder .folder-header{padding:14px 16px}.folder-title{font-size:15px}.file-count{font-size:12px}.nested-folders{padding:10px 10px 10px 32px}.file-item-compact{align-items:flex-start;flex-direction:column;gap:12px}.file-preview-compact{height:60px;width:60px}.file-info-compact{flex:1 1;width:100%}.file-name-compact{font-size:13px}.file-meta-compact{font-size:11px}.file-actions-compact{gap:10px;justify-content:flex-start;width:100%}.btn-action-compact{flex:1 1;font-size:12px;min-height:44px;padding:8px 14px}.upload-actions-area{padding:16px}.upload-button-inline{font-size:15px;min-height:48px;padding:14px 20px}.upload-hint-inline{font-size:12px}.footer-actions{padding:16px 20px}.back-detail-button,.push-button{font-size:15px;min-height:48px;padding:14px 20px}.completion-status{font-size:14px;padding:16px}.image-modal{padding:20px}.image-modal-content{max-height:90vh;max-width:95%;padding:16px}.close-modal{font-size:24px;height:36px;right:10px;top:10px;width:36px}.modal-image{max-height:60vh;max-width:100%}.modal-footer{flex-direction:column;gap:10px;padding:12px 0 0}.modal-footer button{font-size:14px;min-height:44px;padding:12px;width:100%}}@media (max-width:480px){.engineering-detail-header{padding:12px 16px}.header-title{font-size:16px}.back-button{font-size:13px;padding:8px 12px}.engineering-detail-content{padding:12px}.project-info-card{padding:16px 12px}.section-title{font-size:14px}.section-value{font-size:13px}.folder-title{font-size:14px}.file-count{font-size:11px}.nested-folders{padding:8px 8px 8px 24px}.file-preview-compact{height:50px;width:50px}.file-name-compact{font-size:12px}.btn-action-compact{font-size:11px;padding:8px 12px}.upload-actions-area{padding:12px}.upload-button-inline{font-size:14px;padding:12px 16px}.upload-hint-inline{font-size:11px}.footer-actions{padding:12px 16px}.back-detail-button,.push-button{font-size:14px;padding:12px 16px}.completion-status{font-size:13px;padding:12px}.image-modal-content{padding:12px}.modal-footer button{font-size:13px;padding:10px}}.notif-overlay{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.notif-modal{animation:notifDrop .2s ease-out;background:#fff;border-radius:14px;box-shadow:0 10px 30px #00000026;max-width:92vw;overflow:hidden;width:420px}@keyframes notifDrop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notif-header{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;font-weight:700;padding:12px 16px}.notif-body{padding:18px 16px}.notif-title{color:#1a202c;font-size:16px;font-weight:700;margin:0 0 6px}.notif-message{color:#4a5568;font-size:14px;line-height:1.6;margin:0}.notif-actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 16px 18px}.btn-primary{background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;border-radius:8px;color:#fff}.btn-primary,.btn-secondary{cursor:pointer;font-weight:600;padding:8px 16px}.btn-secondary{background:#edf2f7;border:1px solid #e2e8f0;border-radius:8px;color:#2d3748}.btn-primary:hover{filter:brightness(1.05)}.btn-secondary:hover{background:#e2e8f0}.deadline-warning-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.deadline-warning-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 12px 48px #0003;max-width:480px;padding:32px;width:90%}.deadline-warning-icon{animation:pulse 2s ease-in-out infinite;font-size:64px;margin-bottom:16px;text-align:center}.deadline-warning-title{color:#d97706;font-size:24px;font-weight:600;margin-bottom:24px;text-align:center}.deadline-warning-content{margin-bottom:32px}.deadline-warning-project{color:#374151;font-size:16px;margin-bottom:16px;text-align:center}.deadline-warning-project strong{color:#1f2937;font-weight:600}.deadline-warning-message{color:#4b5563;font-size:18px;line-height:1.6;text-align:center}.deadline-warning-days{color:#dc2626;font-size:28px;font-weight:700;padding:0 8px}.deadline-warning-actions{display:flex;gap:12px;justify-content:center}.deadline-warning-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s ease}.deadline-warning-btn-secondary{background-color:#f3f4f6;color:#6b7280}.deadline-warning-btn-secondary:hover{background-color:#e5e7eb;transform:translateY(-2px)}.deadline-warning-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d;color:#fff}.deadline-warning-btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f666;transform:translateY(-2px)}.deadline-warning-btn:active{transform:translateY(0)}@media (max-width:640px){.deadline-warning-modal{padding:24px;width:95%}.deadline-warning-icon{font-size:48px}.deadline-warning-title{font-size:20px}.deadline-warning-message{font-size:16px}.deadline-warning-days{font-size:24px}.deadline-warning-actions{flex-direction:column}.deadline-warning-btn{width:100%}}.role-badges-container{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.role-badge{transition:all .3s ease;white-space:nowrap}.role-badge:hover{border-color:#1976d2;box-shadow:0 2px 4px #1976d233;color:#1976d2;transform:translateY(-1px)}.role-badge.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 2px 8px #667eea4d;color:#fff}.role-badge.active:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.warehouse-in-header .role-badge{background:#fff3;border:1px solid #ffffff4d;color:#fff;font-size:11px;padding:4px 10px}.warehouse-in-header .role-badge:hover{background:#ffffff4d;border-color:#ffffff80;color:#fff}.warehouse-in-header .role-badge.active{background:#fffffff2;border-color:#fffffff2;color:#333;font-weight:600}.warehouse-in-header .role-badge.active:hover{background:#fff;transform:translateY(-1px)}.warehouse-out-header .role-badge{background:#00000014;border:1px solid #00000026;color:#333;font-size:11px;padding:4px 10px}.warehouse-out-header .role-badge:hover{background:#0000001f;border-color:#00000040;color:#333}.warehouse-out-header .role-badge.active{background:#333;border-color:#333;color:#fff;font-weight:600}.warehouse-out-header .role-badge.active:hover{background:#444;transform:translateY(-1px)}@media (max-width:768px){.role-badges-container{gap:6px}.role-badge{font-size:11px;padding:3px 10px}}@media (max-width:480px){.role-badge{font-size:10px;padding:3px 8px}}.purchase-container{background-color:#f5f7fa;min-height:100vh}.purchase-header{align-items:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;max-width:100%;padding:16px 32px}.stat-card.highlight{background:linear-gradient(135deg,#fff9c4,#ffd54f);color:#f57f17}.tab-btn.active{border-bottom-color:#4caf50}.spinner{border-top-color:#66bb6a}.project-card:hover{border-color:#66bb6a}@media (max-width:768px){.purchase-header{align-items:center;flex-direction:row;flex-wrap:wrap;gap:12px;padding:12px 16px}.header-left{flex:1 1;min-width:0}.user-info{gap:10px}.header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.role-badge{font-size:10px;padding:2px 8px}.btn-logout{font-size:13px;min-height:36px;padding:8px 14px;white-space:nowrap}.stats-container{gap:16px;grid-template-columns:1fr;padding:20px 16px}.tabs-container{margin:0 16px 20px}.tab-btn{font-size:14px;min-height:44px;padding:10px 16px}.projects-container{padding:16px}.project-grid{gap:16px}.project-card{padding:20px}.project-title{font-size:18px}.project-description{font-size:13px}.project-meta{flex-direction:column;font-size:12px;gap:6px}}@media (max-width:480px){.purchase-header{padding:12px 16px}.user-info{gap:12px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.stat-card{padding:20px 16px}.stat-card .stat-value{font-size:28px}.tabs-container{margin:0 12px 16px}.tab-btn{font-size:13px;padding:8px 12px}.project-card{padding:16px}.project-type{font-size:12px}.project-title{font-size:16px}.project-description{font-size:13px}.project-meta{flex-direction:column;font-size:12px;gap:6px}}@media (max-width:768px){.purchase-header{align-items:flex-start!important;flex-direction:column!important}.purchase-header .header-left{width:100%}.purchase-header .header-right{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%}.purchase-header .header-right>button{font-size:13px;justify-content:center;min-width:0;padding:10px 8px;width:100%}}.purchase-detail-container{background-color:#f5f7fa;min-height:100vh;padding-bottom:80px}.purchase-detail-header{align-items:center;background:#93bf95;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.detail-title{color:#2d5016}.upload-actions-area.two-columns{grid-template-columns:1fr;justify-items:center}.upload-group{display:block;margin:12px auto}@media (max-width:768px){.info-grid{grid-template-columns:1fr}.upload-area{padding:20px}.file-item{align-items:flex-start;flex-direction:column}.btn-delete-file{align-self:flex-end}.folder-header{padding:12px 16px}.file-item-compact{padding:10px 16px}.upload-button-inline{display:block;margin-bottom:12px;text-align:center}.upload-group{display:block;margin-right:0}.purchase-detail-header{padding:16px 20px}.back-button{font-size:14px;min-height:44px;padding:10px 16px}.engineering-detail-content{padding:16px}.project-info-card{padding:20px 16px}.info-section{margin-bottom:16px}.section-title{font-size:15px;margin-bottom:10px}.section-value{font-size:14px}.file-folder-container{margin-bottom:16px}.file-folder-container.group-folder .folder-header{padding:14px 16px}.folder-title{font-size:15px}.file-count{font-size:12px}.nested-folders{padding:10px 10px 10px 32px}.file-item-compact{align-items:flex-start;flex-direction:column;gap:12px}.file-preview-compact{height:60px;width:60px}.file-info-compact{flex:1 1;width:100%}.file-name-compact{font-size:13px}.file-meta-compact{font-size:11px}.file-actions-compact{gap:10px;justify-content:flex-start;width:100%}.btn-action-compact{flex:1 1;font-size:12px;min-height:44px;padding:8px 14px}.upload-actions-area{padding:16px}.upload-button-inline{font-size:15px;min-height:48px;padding:14px 20px}.upload-hint-inline{font-size:12px}.footer-actions{padding:16px 20px}.back-detail-button,.push-button{font-size:15px;min-height:48px;padding:14px 20px}.completion-status{font-size:14px;padding:16px}.image-modal{padding:20px}.image-modal-content{max-height:90vh;max-width:95%;padding:16px}.close-modal{font-size:24px;height:36px;right:10px;top:10px;width:36px}.modal-image{max-height:60vh;max-width:100%}.modal-footer{flex-direction:column;gap:10px;padding:12px 0 0}.modal-footer button{font-size:14px;min-height:44px;padding:12px;width:100%}}@media (max-width:480px){.purchase-detail-header{padding:12px 16px}.header-title{font-size:16px}.back-button{font-size:13px;padding:8px 12px}.engineering-detail-content{padding:12px}.project-info-card{padding:16px 12px}.section-title{font-size:14px}.section-value{font-size:13px}.folder-title{font-size:14px}.file-count{font-size:11px}.nested-folders{padding:8px 8px 8px 24px}.file-preview-compact{height:50px;width:50px}.file-name-compact{font-size:12px}.btn-action-compact{font-size:11px;padding:8px 12px}.upload-actions-area{padding:12px}.upload-button-inline{font-size:14px;padding:12px 16px}.upload-hint-inline{font-size:11px}.footer-actions{padding:12px 16px}.back-detail-button,.push-button{font-size:14px;padding:12px 16px}.completion-status{font-size:13px;padding:12px}.image-modal-content{padding:12px}.modal-footer button{font-size:13px;padding:10px}}.processing-container{background-color:#f5f7fa;min-height:100vh}.processing-header{align-items:center;background:linear-gradient(135deg,#fff3e0,#ffe0b2);box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;max-width:100%;padding:16px 32px}.primary-leader-badge,.role-badge{color:#ff9800}.role-badge{border:1.5px solid #ff9800}.stat-card.highlight{background:linear-gradient(135deg,#ffe0b2,#ffb74d);color:#e65100}.spinner{border-top-color:#ffb74d}.project-card:hover{border-color:#ffb74d}@media (max-width:768px){.processing-header{align-items:center;flex-direction:row;flex-wrap:wrap;gap:12px;padding:12px 16px}.header-left{flex:1 1;min-width:0}.user-info{gap:10px}.header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.role-badge{font-size:10px;padding:2px 8px}.btn-logout{font-size:13px;min-height:36px;padding:8px 14px;white-space:nowrap}.stats-container{gap:16px;grid-template-columns:1fr;padding:20px 16px}.tabs-container{margin:0 16px 20px}.tab-btn{font-size:14px;min-height:44px;padding:10px 16px}.projects-container{padding:16px}.project-grid{gap:16px}.project-card{padding:20px}.project-title{font-size:18px}.project-description{font-size:13px}.project-meta{flex-direction:column;font-size:12px;gap:6px}}@media (max-width:480px){.processing-header{padding:12px 16px}.user-info{gap:12px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.stat-card{padding:20px 16px}.stat-card .stat-value{font-size:28px}.tabs-container{margin:0 12px 16px}.tab-btn{font-size:13px;padding:8px 12px}.project-card{padding:16px}.project-type{font-size:12px}.project-title{font-size:16px}.project-description{font-size:13px}.project-meta{flex-direction:column;font-size:12px;gap:6px}}.remaining-days{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:4px solid #ff9800;color:#e65100}@media (max-width:768px){.processing-header{align-items:flex-start!important;flex-direction:column!important}.processing-header .header-left{width:100%}.processing-header .header-right{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%}.processing-header .header-right>button{font-size:13px;justify-content:center;min-width:0;padding:10px 8px;width:100%}}.processing-detail-container{background-color:#f5f7fa;min-height:100vh;padding-bottom:80px}.processing-detail-header{align-items:center;background:#ddc092;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.back-button{background:#4facfe;border-radius:6px;box-shadow:0 2px 4px #0000001a;font-size:16px;font-weight:500;gap:4px;padding:8px 16px;transition:all .2s ease}.back-button:hover{background:#3b9fef;box-shadow:0 3px 8px #4facfe4d}.back-button:active{background:#2a8fd8;transform:scale(.98)}.detail-title{color:#663d00}@media (max-width:768px){.info-grid{grid-template-columns:1fr}.upload-area{padding:20px}.file-item{align-items:flex-start;flex-direction:column}.btn-delete-file{align-self:flex-end}.folder-header{padding:12px 16px}.file-item-compact{padding:10px 16px}.upload-button-inline{display:block;margin-bottom:12px;text-align:center}.upload-group{display:block;margin-right:0}.processing-detail-header{padding:16px 20px}.back-button{font-size:14px;min-height:44px;padding:10px 16px}.engineering-detail-content{padding:16px}.project-info-card{padding:20px 16px}.info-section{margin-bottom:16px}.section-title{font-size:15px;margin-bottom:10px}.section-value{font-size:14px}.file-folder-container{margin-bottom:16px}.file-folder-container.group-folder .folder-header{padding:14px 16px}.folder-title{font-size:15px}.file-count{font-size:12px}.nested-folders{padding:10px 10px 10px 32px}.file-item-compact{align-items:flex-start;flex-direction:column;gap:12px}.file-preview-compact{height:60px;width:60px}.file-info-compact{flex:1 1;width:100%}.file-name-compact{font-size:13px}.file-meta-compact{font-size:11px}.file-actions-compact{gap:10px;justify-content:flex-start;width:100%}.btn-action-compact{flex:1 1;font-size:12px;min-height:44px;padding:8px 14px}.upload-actions-area{padding:16px}.upload-button-inline{font-size:15px;min-height:48px;padding:14px 20px}.upload-hint-inline{font-size:12px}.footer-actions{padding:16px 20px}.back-detail-button,.push-button{font-size:15px;min-height:48px;padding:14px 20px}.completion-status{font-size:14px;padding:16px}.image-modal{padding:20px}.image-modal-content{max-height:90vh;max-width:95%;padding:16px}.close-modal{font-size:24px;height:36px;right:10px;top:10px;width:36px}.modal-image{max-height:60vh;max-width:100%}.modal-footer{flex-direction:column;gap:10px;padding:12px 0 0}.modal-footer button{font-size:14px;min-height:44px;padding:12px;width:100%}}@media (max-width:480px){.processing-detail-header{padding:12px 16px}.header-title{font-size:16px}.back-button{font-size:13px;padding:8px 12px}.engineering-detail-content{padding:12px}.project-info-card{padding:16px 12px}.section-title{font-size:14px}.section-value{font-size:13px}.folder-title{font-size:14px}.file-count{font-size:11px}.nested-folders{padding:8px 8px 8px 24px}.file-preview-compact{height:50px;width:50px}.file-name-compact{font-size:12px}.btn-action-compact{font-size:11px;padding:8px 12px}.upload-actions-area{padding:12px}.upload-button-inline{font-size:14px;padding:12px 16px}.upload-hint-inline{font-size:11px}.footer-actions{padding:12px 16px}.back-detail-button,.push-button{font-size:14px;padding:12px 16px}.completion-status{font-size:13px;padding:12px}.image-modal-content{padding:12px}.modal-footer button{font-size:13px;padding:10px}}.assembly-container{background-color:#f5f7fa;min-height:100vh}.assembly-header{align-items:center;background:linear-gradient(135deg,#e1f5fe,#b3e5fc);box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;max-width:100%;padding:16px 32px}.primary-leader-badge,.role-badge{color:#03a9f4}.role-badge{border:1.5px solid #03a9f4}.stat-card.highlight,.stat-card:first-child{background:linear-gradient(135deg,#b3e5fc,#4fc3f7);color:#01579b}.tab-btn.active,.tab-btn:hover{color:#03a9f4}@media (max-width:768px){.assembly-header{align-items:center;flex-direction:row;flex-wrap:wrap;gap:12px;padding:12px 16px}.header-left{flex:1 1;min-width:0}.user-info{gap:10px}.header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.role-badge{font-size:10px;padding:2px 8px}.btn-logout{font-size:13px;min-height:36px;padding:8px 14px;white-space:nowrap}.stats-container{gap:16px;grid-template-columns:1fr;padding:20px 16px}.tabs-container{margin:0 16px 20px}.tab-btn{font-size:14px;min-height:44px;padding:10px 16px}.projects-container{padding:16px}.project-grid{gap:16px}.project-card{padding:20px}.project-title{font-size:18px}.project-description{font-size:13px}.project-meta{flex-direction:column;font-size:12px;gap:6px}}@media (max-width:480px){.assembly-header{padding:12px 16px}.user-info{gap:12px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.stat-card{padding:20px 16px}.stat-card .stat-value{font-size:28px}.tabs-container{margin:0 12px 16px}.tab-btn{font-size:13px;padding:8px 12px}.project-card{padding:16px}.project-type{font-size:12px}.project-title{font-size:16px}.project-description{font-size:13px}.project-meta{flex-direction:column;font-size:12px;gap:6px}}.remaining-days{background:linear-gradient(135deg,#e1f5fe,#b3e5fc);border-left:4px solid #03a9f4;color:#01579b}@media (max-width:768px){.assembly-header{align-items:flex-start!important;flex-direction:column!important}.assembly-header .header-left{width:100%}.assembly-header .header-right{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%}.assembly-header .header-right>button{font-size:13px;justify-content:center;min-width:0;padding:10px 8px;width:100%}}.assembly-detail-container{background-color:#f5f7fa;min-height:100vh;padding-bottom:80px}.assembly-detail-header{align-items:center;background:linear-gradient(135deg,#03a9f4,#4fc3f7);box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.assembly-notice{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #03a9f4;border-radius:8px;padding:20px}.assembly-notice p{color:#01579b;font-size:14px;font-weight:500;line-height:1.6;margin:8px 0}.assembly-notice p:first-child{margin-top:0}.assembly-notice p:last-child{margin-bottom:0}@media (max-width:768px){.info-grid{grid-template-columns:1fr}.upload-area{padding:20px}.file-item{align-items:flex-start;flex-direction:column}.btn-delete-file{align-self:flex-end}.folder-header{padding:12px 16px}.file-item-compact{padding:10px 16px}.upload-button-inline{display:block;margin-bottom:12px;text-align:center}.upload-group{display:block;margin-right:0}.assembly-detail-header{padding:16px 20px}.back-button{font-size:14px;min-height:44px;padding:10px 16px}.engineering-detail-content{padding:16px}.project-info-card{padding:20px 16px}.info-section{margin-bottom:16px}.section-title{font-size:15px;margin-bottom:10px}.section-value{font-size:14px}.file-folder-container{margin-bottom:16px}.file-folder-container.group-folder .folder-header{padding:14px 16px}.folder-title{font-size:15px}.file-count{font-size:12px}.nested-folders{padding:10px 10px 10px 32px}.file-item-compact{align-items:flex-start;flex-direction:column;gap:12px}.file-preview-compact{height:60px;width:60px}.file-info-compact{flex:1 1;width:100%}.file-name-compact{font-size:13px}.file-meta-compact{font-size:11px}.file-actions-compact{gap:10px;justify-content:flex-start;width:100%}.btn-action-compact{flex:1 1;font-size:12px;min-height:44px;padding:8px 14px}.upload-actions-area{padding:16px}.upload-button-inline{font-size:15px;min-height:48px;padding:14px 20px}.upload-hint-inline{font-size:12px}.footer-actions{padding:16px 20px}.back-detail-button,.push-button{font-size:15px;min-height:48px;padding:14px 20px}.completion-status{font-size:14px;padding:16px}.image-modal{padding:20px}.image-modal-content{max-height:90vh;max-width:95%;padding:16px}.close-modal{font-size:24px;height:36px;right:10px;top:10px;width:36px}.modal-image{max-height:60vh;max-width:100%}.modal-footer{flex-direction:column;gap:10px;padding:12px 0 0}.modal-footer button{font-size:14px;min-height:44px;padding:12px;width:100%}}@media (max-width:480px){.assembly-detail-header{padding:12px 16px}.header-title{font-size:16px}.back-button{font-size:13px;padding:8px 12px}.engineering-detail-content{padding:12px}.project-info-card{padding:16px 12px}.section-title{font-size:14px}.section-value{font-size:13px}.folder-title{font-size:14px}.file-count{font-size:11px}.nested-folders{padding:8px 8px 8px 24px}.file-preview-compact{height:50px;width:50px}.file-name-compact{font-size:12px}.btn-action-compact{font-size:11px;padding:8px 12px}.upload-actions-area{padding:12px}.upload-button-inline{font-size:14px;padding:12px 16px}.upload-hint-inline{font-size:11px}.footer-actions{padding:12px 16px}.back-detail-button,.push-button{font-size:14px;padding:12px 16px}.completion-status{font-size:13px;padding:12px}.image-modal-content{padding:12px}.modal-footer button{font-size:13px;padding:10px}}.testing-container{background-color:#f5f7fa;min-height:100vh}.testing-header{align-items:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;max-width:100%;padding:16px 32px}.primary-leader-badge,.role-badge{color:#4caf50}.role-badge{border:1.5px solid #4caf50}.btn-logout{background:#fff;border:1.5px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #00000014;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s}.btn-logout:hover{background:#ffebee;border-color:#f44;box-shadow:0 4px 8px #ff44444d;color:#333;transform:translateY(-1px)}.stats-container{grid-gap:24px!important;box-sizing:border-box;display:grid!important;gap:24px!important;grid-template-columns:repeat(3,1fr)!important;margin:0 auto;max-width:1400px;padding:32px 40px;width:100%}.stat-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 4px 12px #00000014;box-sizing:border-box!important;display:flex!important;flex:1 1!important;min-width:0!important;padding:28px 24px;width:100%!important}.stat-card:hover{box-shadow:0 8px 24px #0000001f}.stat-card .stat-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.stat-card .stat-content{flex:1 1;text-align:left}.stat-card .stat-value{font-weight:800;line-height:1;margin-bottom:4px}.stat-card .stat-label{font-weight:600;opacity:.85}.stat-card.highlight,.stat-card:first-child{background:linear-gradient(135deg,#c8e6c9,#4fc3f7);color:#2e7d32}.stat-card.success{background:linear-gradient(135deg,#c8e6c9,#66bb6a);color:#1b5e20}.tabs-container{border:1px solid #0000000d;box-sizing:border-box;margin:0 auto 24px;max-width:1320px}.tab-btn{font-weight:500}.tab-btn:hover{color:#4caf50}.tab-btn.active{background:#fff;color:#4caf50}.projects-container{margin:0 auto;max-width:1400px;padding:24px 40px 40px}.loading-state{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:80px 32px}.spinner{border:4px solid #f3f3f3;border-top-color:#4fc3f7;margin:0 auto 20px}.loading-state p{color:#718096;font-size:16px;font-weight:500}.empty-state{padding:80px 32px}.empty-icon{font-size:80px}.empty-state h3{color:#2d3748;font-size:20px;font-weight:600;margin:0 0 8px}.empty-state p{font-size:15px}.project-grid{display:flex;flex-direction:column;gap:20px}.project-card:hover{border-color:#4fc3f7}.status-pending{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);color:#2d3436}@media (max-width:1200px){.stats-container{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.testing-header{align-items:center;flex-direction:row;flex-wrap:wrap;gap:12px;padding:12px 16px}.header-left{flex:1 1;min-width:0}.user-info{gap:10px}.header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.role-badge{font-size:10px;padding:2px 8px}.btn-logout{font-size:13px;min-height:36px;padding:8px 14px;white-space:nowrap}.stats-container{gap:16px;grid-template-columns:1fr;padding:20px 16px}.tabs-container{margin:0 16px 20px}.tab-btn{font-size:14px;min-height:44px;padding:10px 16px}.projects-container{padding:16px}.project-grid{gap:16px}.project-card{padding:20px}.project-title{font-size:18px}.project-description{font-size:13px}.project-meta{flex-direction:column;font-size:12px;gap:6px}}@media (max-width:480px){.testing-header{padding:12px 16px}.user-info{gap:12px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.stat-card{padding:20px 16px}.stat-card .stat-value{font-size:28px}.tabs-container{margin:0 12px 16px}.tab-btn{font-size:13px;padding:8px 12px}.project-card{padding:16px}.project-type{font-size:12px}.project-title{font-size:16px}.project-description{font-size:13px}.project-meta{flex-direction:column;font-size:12px;gap:6px}}.remaining-days{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-left:4px solid #4caf50;color:#2e7d32}@media (max-width:768px){.testing-header{align-items:flex-start!important;flex-direction:column!important}.testing-header .header-left{width:100%}.testing-header .header-right{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%}.testing-header .header-right>button{font-size:13px;justify-content:center;min-width:0;padding:10px 8px;width:100%}}.testing-detail-container{background-color:#f5f7fa;min-height:100vh;padding-bottom:80px}.testing-detail-header{align-items:center;background:linear-gradient(135deg,#4caf50,#66bb6a);box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.testing-notice{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #4caf50;border-radius:8px;padding:20px}.testing-notice p{color:#2e7d32;font-size:14px;font-weight:500;line-height:1.6;margin:8px 0}.testing-notice p:first-child{margin-top:0}.testing-notice p:last-child{margin-bottom:0}@media (max-width:768px){.info-grid{grid-template-columns:1fr}.upload-area{padding:20px}.file-item{align-items:flex-start;flex-direction:column}.btn-delete-file{align-self:flex-end}.folder-header{padding:12px 16px}.file-item-compact{padding:10px 16px}.upload-button-inline{display:block;margin-bottom:12px;text-align:center}.upload-group{display:block;margin-right:0}.testing-detail-header{padding:16px 20px}.back-button{font-size:14px;min-height:44px;padding:10px 16px}.engineering-detail-content{padding:16px}.project-info-card{padding:20px 16px}.info-section{margin-bottom:16px}.section-title{font-size:15px;margin-bottom:10px}.section-value{font-size:14px}.file-folder-container{margin-bottom:16px}.file-folder-container.group-folder .folder-header{padding:14px 16px}.folder-title{font-size:15px}.file-count{font-size:12px}.nested-folders{padding:10px 10px 10px 32px}.file-item-compact{align-items:flex-start;flex-direction:column;gap:12px}.file-preview-compact{height:60px;width:60px}.file-info-compact{flex:1 1;width:100%}.file-name-compact{font-size:13px}.file-meta-compact{font-size:11px}.file-actions-compact{gap:10px;justify-content:flex-start;width:100%}.btn-action-compact{flex:1 1;font-size:12px;min-height:44px;padding:8px 14px}.upload-actions-area{padding:16px}.upload-button-inline{font-size:15px;min-height:48px;padding:14px 20px}.upload-hint-inline{font-size:12px}.footer-actions{padding:16px 20px}.back-detail-button,.push-button{font-size:15px;min-height:48px;padding:14px 20px}.completion-status{font-size:14px;padding:16px}.image-modal{padding:20px}.image-modal-content{max-height:90vh;max-width:95%;padding:16px}.close-modal{font-size:24px;height:36px;right:10px;top:10px;width:36px}.modal-image{max-height:60vh;max-width:100%}.modal-footer{flex-direction:column;gap:10px;padding:12px 0 0}.modal-footer button{font-size:14px;min-height:44px;padding:12px;width:100%}}@media (max-width:480px){.testing-detail-header{padding:12px 16px}.header-title{font-size:16px}.back-button{font-size:13px;padding:8px 12px}.engineering-detail-content{padding:12px}.project-info-card{padding:16px 12px}.section-title{font-size:14px}.section-value{font-size:13px}.folder-title{font-size:14px}.file-count{font-size:11px}.nested-folders{padding:8px 8px 8px 24px}.file-preview-compact{height:50px;width:50px}.file-name-compact{font-size:12px}.btn-action-compact{font-size:11px;padding:8px 12px}.upload-actions-area{padding:12px}.upload-button-inline{font-size:14px;padding:12px 16px}.upload-hint-inline{font-size:11px}.footer-actions{padding:12px 16px}.back-detail-button,.push-button{font-size:14px;padding:12px 16px}.completion-status{font-size:13px;padding:12px}.image-modal-content{padding:12px}.modal-footer button{font-size:13px;padding:10px}}.warehouse-in-container{background-color:#f5f5f5;min-height:100vh;padding-bottom:40px}.warehouse-in-header{align-items:center;background:linear-gradient(135deg,#ff9800,#fb8c00);box-shadow:0 4px 12px #00000014;display:flex;gap:20px;justify-content:space-between;max-width:100%;padding:16px 32px}.user-name{color:#fff}.role-badge{background:#fff3;border:1px solid #ffffff4d;color:#fff}.action-btn{background:#fffffff2;border:none}.action-btn:hover{background:#fff}.warehouse-in-content{margin:0 auto;max-width:1240px;padding:24px 20px}.stat-card.success{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#a5d6a7}.tab-btn:hover{color:#ff9800}.tab-btn.active{border-bottom-color:#ff9800;color:#ff9800}.project-type-badge{background:#e3f2fd;color:#1976d2}.status-badge.status-completed{background:#e8f5e9;color:#388e3c}@media (max-width:768px){.warehouse-in-header{align-items:flex-start;flex-direction:column;gap:12px;padding:12px 16px}.user-info-section{width:100%}.user-details{flex-wrap:wrap;gap:8px}.header-actions{justify-content:space-between;width:100%}.action-btn{flex:1 1;justify-content:center}.user-avatar{font-size:20px;height:40px;width:40px}.user-name{font-size:15px}.role-badge{font-size:10px;padding:3px 8px}.warehouse-in-content{padding:16px}.stats-container{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-card .stat-value{font-size:28px}.stat-card .stat-label{font-size:13px}.tab-btn{font-size:14px;min-height:44px;padding:10px 16px}.project-card{align-items:flex-start;flex-direction:column;padding:16px}.project-title{font-size:16px}.project-meta{flex-direction:column;font-size:12px;gap:6px}}@media (max-width:480px){.warehouse-in-header{padding:12px 16px}.warehouse-in-content{padding:12px}.stats-container{grid-template-columns:1fr}.tab-btn{font-size:13px;padding:8px 12px}.project-card{padding:14px}}.warehousein-detail-container{background-color:#f5f7fa;min-height:100vh;padding-bottom:80px}.warehousein-detail-header{align-items:center;background:linear-gradient(135deg,#ff9800,#ffb74d);box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.warehousein-notice{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #ff9800;border-radius:8px;padding:20px}.warehousein-notice p{color:#e65100;font-size:14px;font-weight:500;line-height:1.6;margin:8px 0}.warehousein-notice p:first-child{margin-top:0}.warehousein-notice p:last-child{margin-bottom:0}@media (max-width:768px){.info-grid{grid-template-columns:1fr}.upload-area{padding:20px}.file-item{align-items:flex-start;flex-direction:column}.btn-delete-file{align-self:flex-end}.folder-header{padding:12px 16px}.file-item-compact{padding:10px 16px}.upload-button-inline{display:block;margin-bottom:12px;text-align:center}.upload-group{display:block;margin-right:0}.warehousein-detail-header{padding:16px 20px}.back-button{font-size:14px;min-height:44px;padding:10px 16px}.engineering-detail-content{padding:16px}.project-info-card{padding:20px 16px}.info-section{margin-bottom:16px}.section-title{font-size:15px;margin-bottom:10px}.section-value{font-size:14px}.file-folder-container{margin-bottom:16px}.file-folder-container.group-folder .folder-header{padding:14px 16px}.folder-title{font-size:15px}.file-count{font-size:12px}.nested-folders{padding:10px 10px 10px 32px}.file-item-compact{align-items:flex-start;flex-direction:column;gap:12px}.file-preview-compact{height:60px;width:60px}.file-info-compact{flex:1 1;width:100%}.file-name-compact{font-size:13px}.file-meta-compact{font-size:11px}.file-actions-compact{gap:10px;justify-content:flex-start;width:100%}.btn-action-compact{flex:1 1;font-size:12px;min-height:44px;padding:8px 14px}.upload-actions-area{padding:16px}.upload-button-inline{font-size:15px;min-height:48px;padding:14px 20px}.upload-hint-inline{font-size:12px}.footer-actions{padding:16px 20px}.back-detail-button,.push-button{font-size:15px;min-height:48px;padding:14px 20px}.completion-status{font-size:14px;padding:16px}.image-modal{padding:20px}.image-modal-content{max-height:90vh;max-width:95%;padding:16px}.close-modal{font-size:24px;height:36px;right:10px;top:10px;width:36px}.modal-image{max-height:60vh;max-width:100%}.modal-footer{flex-direction:column;gap:10px;padding:12px 0 0}.modal-footer button{font-size:14px;min-height:44px;padding:12px;width:100%}}@media (max-width:480px){.warehousein-detail-header{padding:12px 16px}.header-title{font-size:16px}.back-button{font-size:13px;padding:8px 12px}.engineering-detail-content{padding:12px}.project-info-card{padding:16px 12px}.section-title{font-size:14px}.section-value{font-size:13px}.folder-title{font-size:14px}.file-count{font-size:11px}.nested-folders{padding:8px 8px 8px 24px}.file-preview-compact{height:50px;width:50px}.file-name-compact{font-size:12px}.btn-action-compact{font-size:11px;padding:8px 12px}.upload-actions-area{padding:12px}.upload-button-inline{font-size:14px;padding:12px 16px}.upload-hint-inline{font-size:11px}.footer-actions{padding:12px 16px}.back-detail-button,.push-button{font-size:14px;padding:12px 16px}.completion-status{font-size:13px;padding:12px}.image-modal-content{padding:12px}.modal-footer button{font-size:13px;padding:10px}}.upload-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-top:16px}.upload-column{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .3s}.upload-column:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.upload-column-header{align-items:center;border-bottom:2px solid #f3f4f6;display:flex;gap:8px;margin-bottom:16px;padding-bottom:12px}.upload-column-header .upload-icon{font-size:24px}.upload-column-header h4{color:#1f2937;font-size:16px;font-weight:600;margin:0}.upload-area-wrapper{width:100%}.upload-area{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:48px 24px;transition:all .3s}.upload-area:hover{background:#eff6ff;border-color:#3b82f6}.upload-icon-large{font-size:56px;margin-bottom:16px;opacity:.8}.upload-text{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:8px}.upload-hint{color:#6b7280;font-size:14px}@media (max-width:768px){.upload-grid{grid-template-columns:1fr}}.warehouse-out-container{background-color:#f5f5f5;min-height:100vh;padding-bottom:40px}.warehouse-out-header{align-items:center;background:linear-gradient(135deg,#e3f2fd,#cfe8fd);box-shadow:0 4px 12px #00000014;display:flex;gap:20px;justify-content:space-between;max-width:100%;padding:16px 32px}.user-info-section{align-items:center;flex:0 0 auto;gap:12px;max-width:-webkit-fit-content;max-width:fit-content}.user-avatar{background:#fffffff2}.user-details{flex:0 0 auto;gap:8px}.user-name{line-height:1}.user-role-badges{flex-wrap:wrap}.role-badge{background:#00000014;border:1px solid #00000026;color:#333;font-size:11px;padding:4px 10px}.header-actions{align-items:center;flex:0 0 auto;gap:12px}.action-btn{align-items:center;background:#fff;border:1.5px solid #ddd;border-radius:8px;box-shadow:0 2px 6px #0000001a;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 18px;transition:all .3s}.action-btn:hover{background:#f5f5f5;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.action-btn.logout-btn:hover{background:#ffebee;border-color:#f44;color:#d32f2f}.action-btn.switch-btn:hover{background:#e8f5e9;border-color:#4caf50;color:#2e7d32}.btn-icon{font-size:16px}.btn-text{font-size:14px}.warehouse-out-content{margin:0 auto;max-width:1240px;padding:24px 20px}.page-title{text-align:center}.stats-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:24px;max-width:100%}.stat-card{flex:1 1;min-width:0}.stat-card .stat-icon{font-size:48px;margin-bottom:12px}.stat-card .stat-content{text-align:center}.stat-card .stat-value{color:#333;font-size:36px;font-weight:700;margin-bottom:8px}.stat-card .stat-label{color:#666;font-size:15px;font-weight:500}.stat-card.highlight{background:linear-gradient(135deg,#fff9e6,#fff3cc);border-color:#ffe699}.stat-card.success{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-color:#ce93d8}.tabs-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;margin-bottom:20px;overflow:hidden}.tab-btn{background:#fff;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:15px;padding:14px 12px;transition:all .3s}.tab-btn:hover{background-color:#f5f5f5;color:#9c27b0}.tab-btn.active{background-color:#f8f9fa;border-bottom-color:#9c27b0;color:#9c27b0;font-weight:600}.loading-message{background:#fff;border-radius:12px;padding:48px 16px}.project-card{display:flex;flex-direction:column;gap:12px;transition:all .3s}.project-header{gap:12px}.project-type-badge{background:#f3e5f5;color:#7b1fa2;font-size:12px;font-weight:500}.status-badge{border-radius:16px;padding:6px 16px;white-space:nowrap}.status-badge.status-pending{background:#fff9e6;color:#f57c00}.status-badge.status-completed{background:#f3e5f5;color:#7b1fa2}.project-title{margin:0}.project-meta{color:#666;gap:12px}@media (max-width:768px){.warehouse-out-header{align-items:flex-start;flex-direction:column;gap:12px;padding:12px 16px}.user-info-section{width:100%}.user-details{flex-wrap:wrap;gap:8px}.header-actions{justify-content:space-between;width:100%}.action-btn{flex:1 1;justify-content:center}.user-avatar{font-size:20px;height:40px;width:40px}.user-name{font-size:15px}.role-badge{font-size:10px;padding:3px 8px}.warehouse-out-content{padding:16px}.stats-container{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-card .stat-value{font-size:28px}.stat-card .stat-label{font-size:13px}.tab-btn{font-size:14px;min-height:44px;padding:10px 16px}.project-card{align-items:flex-start;flex-direction:column;padding:16px}.project-title{font-size:16px}.project-meta{flex-direction:column;font-size:12px;gap:6px}}@media (max-width:480px){.warehouse-out-header{padding:12px 16px}.warehouse-out-content{padding:12px}.stats-container{grid-template-columns:1fr}.tab-btn{font-size:13px;padding:8px 12px}.project-card{padding:14px}}.warehouseout-detail-container{background-color:#f5f7fa;min-height:100vh;padding-bottom:80px}.warehouseout-detail-header{align-items:center;background:linear-gradient(135deg,#9c27b0,#ba68c8);box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.engineering-detail-content{margin:0 auto;max-width:1000px;padding:20px}.readonly-section{background:#f7fafc;border:1px dashed #cbd5e0;border-radius:8px}.file-item{position:relative}.delete-file-btn{align-items:center;background:#ff4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;position:absolute;right:4px;top:4px;transition:all .2s;width:28px;z-index:10}.delete-file-btn:hover{background:#f44;transform:scale(1.1)}.warehouseout-notice{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #9c27b0;border-radius:8px;padding:20px}.warehouseout-notice p{color:#6a1b9a;font-size:14px;font-weight:500;line-height:1.6;margin:8px 0}.warehouseout-notice p:first-child{margin-top:0}.warehouseout-notice p:last-child{margin-bottom:0}.success-message{font-size:24px;font-weight:700;margin:0 0 8px}.success-submessage{color:#718096;font-size:16px;line-height:1.6;margin:0}.upload-actions-area.two-columns{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.upload-actions-area:not(.two-columns){display:block;text-align:center}.upload-actions-area:not(.two-columns) .upload-group{display:block;margin:0 auto;max-width:400px}.upload-button.secondary{background:linear-gradient(135deg,#66bb6a,#4caf50);box-shadow:0 2px 8px #66bb6a4d}@media (max-width:768px){.info-grid{grid-template-columns:1fr}.upload-area{padding:20px}.file-item{align-items:flex-start;flex-direction:column}.btn-delete-file{align-self:flex-end}.folder-header{padding:12px 16px}.file-item-compact{padding:10px 16px}.upload-button-inline{display:block;margin-bottom:12px;text-align:center}.upload-group{display:block;margin-right:0}.warehouseout-detail-header{padding:16px 20px}.back-button{font-size:14px;min-height:44px;padding:10px 16px}.engineering-detail-content{padding:16px}.project-info-card{padding:20px 16px}.info-section{margin-bottom:16px}.section-title{font-size:15px;margin-bottom:10px}.section-value{font-size:14px}.file-folder-container{margin-bottom:16px}.file-folder-container.group-folder .folder-header{padding:14px 16px}.folder-title{font-size:15px}.file-count{font-size:12px}.nested-folders{padding:10px 10px 10px 32px}.file-item-compact{align-items:flex-start;flex-direction:column;gap:12px}.file-preview-compact{height:60px;width:60px}.file-info-compact{flex:1 1;width:100%}.file-name-compact{font-size:13px}.file-meta-compact{font-size:11px}.file-actions-compact{gap:10px;justify-content:flex-start;width:100%}.btn-action-compact{flex:1 1;font-size:12px;min-height:44px;padding:8px 14px}.upload-actions-area{padding:16px}.upload-button-inline{font-size:15px;min-height:48px;padding:14px 20px}.upload-hint-inline{font-size:12px}.footer-actions{padding:16px 20px}.back-detail-button,.push-button{font-size:15px;min-height:48px;padding:14px 20px}.completion-status{font-size:14px;padding:16px}.image-modal{padding:20px}.image-modal-content{max-height:90vh;max-width:95%;padding:16px}.close-modal{font-size:24px;height:36px;right:10px;top:10px;width:36px}.modal-image{max-height:60vh;max-width:100%}.modal-footer{flex-direction:column;gap:10px;padding:12px 0 0}.modal-footer button{font-size:14px;min-height:44px;padding:12px;width:100%}}@media (max-width:480px){.warehouseout-detail-header{padding:12px 16px}.header-title{font-size:16px}.back-button{font-size:13px;padding:8px 12px}.engineering-detail-content{padding:12px}.project-info-card{padding:16px 12px}.section-title{font-size:14px}.section-value{font-size:13px}.folder-title{font-size:14px}.file-count{font-size:11px}.nested-folders{padding:8px 8px 8px 24px}.file-preview-compact{height:50px;width:50px}.file-name-compact{font-size:12px}.btn-action-compact{font-size:11px;padding:8px 12px}.upload-actions-area{padding:12px}.upload-button-inline{font-size:14px;padding:12px 16px}.upload-hint-inline{font-size:11px}.footer-actions{padding:12px 16px}.back-detail-button,.push-button{font-size:14px;padding:12px 16px}.completion-status{font-size:13px;padding:12px}.image-modal-content{padding:12px}.modal-footer button{font-size:13px;padding:10px}}.admin-container{animation:fadeIn .3s ease-out;background-color:#f5f5f5;min-height:100vh}.loading-overlay{animation:fadeIn .2s ease-out;background:#0000004d;height:100%;width:100%}.loading-spinner{align-items:center;border-radius:8px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;gap:16px;padding:24px}.loading-image{height:64px;width:64px}.admin-header{align-items:center;background:linear-gradient(135deg,#5dade2,#3498db);box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;max-width:100%;padding:16px 32px}.admin-header .header-right{align-items:center;display:flex;gap:12px}.admin-content{margin:0 auto;max-width:1200px;padding:16px}.admin-title-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.admin-actions{display:flex;gap:12px}.logout-btn,.primary-leader-btn,.user-management-btn{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;position:relative;transition:all .3s;white-space:nowrap}.logout-btn:hover,.primary-leader-btn:hover,.user-management-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.pending-badge{background:#ff5722;border-radius:10px;color:#fff;font-size:12px;font-weight:700;margin-left:4px;padding:2px 8px}.admin-content .stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.admin-container .stats-grid .stat-card.stat-total{background:linear-gradient(135deg,#e1bee7,#ce93d8);border-color:#ba68c8}.admin-container .stats-grid .stat-card.stat-pending{background:linear-gradient(135deg,#fff9c4,#fff59d)!important;border-color:#ffe699}.admin-container .stats-grid .stat-card.stat-progress{background:linear-gradient(135deg,#e3f2fd,#bbdefb)!important;border-color:#90caf9}.admin-container .stats-grid .stat-card.stat-completed{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)!important;border-color:#a5d6a7}.stat-label,.stat-number{color:#000}.section-card{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;padding:20px}.section-title{align-items:center;display:flex;font-size:16px;font-weight:500;gap:8px;margin:0 0 16px}.engineers-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.engineer-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;gap:12px;padding:12px}.engineer-card,.engineer-icon{align-items:center;display:flex}.engineer-icon{background:#e3f2fd;border-radius:50%;font-size:24px;height:48px;justify-content:center;width:48px}.engineer-info{flex:1 1}.engineer-name{color:#333;font-size:14px;font-weight:500;margin-bottom:4px}.engineer-stats{color:#666;font-size:12px}.admin-task-list{display:flex;flex-direction:column;gap:12px}.admin-task-card{background:#fff;border:1px solid #00000014;border-radius:12px;box-shadow:0 1px 4px #0000000d;padding:18px 20px;transition:all .3s ease}.admin-task-card:hover{border-color:#1976d2;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.task-main{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.task-left{flex:1 1}.task-title{color:#333;font-size:16px;font-weight:500;margin:0 0 8px}.task-meta{color:#666;display:flex;font-size:13px;gap:16px}.task-project{align-items:center;display:flex;gap:4px}.task-id{color:#999}.task-right{display:flex;gap:8px}.status-in_progress{background-color:#e8f5e9;color:#388e3c}.status-completed{background-color:#e0e0e0;color:#666}.task-footer{align-items:center;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding-top:12px}.task-assignee-info{color:#666;display:flex;font-size:12px;gap:16px}.reassign-btn{background:#fff;border:1px solid #1976d2;border-radius:4px;color:#1976d2;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .3s}.reassign-btn:hover{background:#e3f2fd}.modal-content{border-radius:8px;max-width:400px}.modal-content.large{max-width:600px}.modal-content h3{margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #e0e0e0;border-radius:4px;font-size:14px;padding:10px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1976d2}.form-row{grid-gap:12px;gap:12px}.modal-buttons{margin-top:24px}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.engineers-grid{grid-template-columns:1fr}.task-footer,.task-main{flex-direction:column;gap:12px}.task-footer{align-items:flex-start}.form-row{grid-template-columns:1fr}.admin-title-bar{align-items:flex-start;flex-direction:column;gap:12px}}.empty-state p{color:#666;margin:8px 0}.empty-hint{color:#999!important;font-size:14px!important}@media (max-width:768px){.admin-header{align-items:flex-start;flex-direction:column;gap:12px;padding:12px 16px}.header-left,.header-right{width:100%}.header-right{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);width:100%}.logout-btn,.primary-leader-btn,.user-management-btn{flex-direction:column;font-size:13px;gap:4px;gap:2px;justify-content:center;line-height:1.3;min-width:0;padding:10px 8px;text-align:center;white-space:normal;width:100%}.pending-badge{font-size:10px;min-width:16px;padding:1px 6px;position:absolute;right:4px;top:4px}.user-avatar{font-size:20px;height:40px;width:40px}.user-name{font-size:15px}.role-badge{font-size:11px;padding:3px 8px}.admin-content{padding:16px}.tabs-container{margin-bottom:20px}.tabs{flex-wrap:wrap;gap:8px;padding:0 16px}.tab{font-size:14px;min-height:44px;padding:10px 16px}.projects-section{padding:20px 16px}.section-header{align-items:flex-start;flex-direction:column;gap:12px}.section-title{font-size:18px}.section-actions{justify-content:flex-start;width:100%}.btn-action{font-size:13px;min-height:44px;padding:10px 16px}.project-grid{gap:16px;grid-template-columns:1fr}.project-card{padding:16px}.project-title-text{font-size:16px}.project-type{font-size:11px;padding:4px 10px}.project-description{font-size:13px}.project-meta{flex-direction:column;font-size:12px;gap:8px}.project-actions{flex-direction:column;gap:10px}.btn-danger,.btn-primary,.btn-secondary,.btn-success{font-size:13px;min-height:44px;padding:10px 16px;width:100%}.modal-content{margin:20px;max-width:95%;padding:20px}.modal-header h2{font-size:18px}.close-btn{font-size:20px;height:32px;width:32px}.form-group label{font-size:13px}.form-control,.form-textarea{font-size:15px;padding:12px}.modal-actions{flex-direction:column;gap:10px}.modal-actions button{width:100%}.empty-icon{font-size:48px}.empty-state p{font-size:14px}.empty-hint{font-size:12px!important}}@media (max-width:480px){.admin-header{padding:12px 16px}.user-info{gap:12px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.admin-content{padding:12px}.tabs{gap:6px;padding:0 12px}.tab{font-size:13px;padding:8px 12px}.projects-section{padding:16px 12px}.section-title{font-size:16px}.project-card{padding:14px}.project-title-text{font-size:15px}.project-type{font-size:10px}.project-description{font-size:12px}.modal-content{margin:16px;padding:16px}.modal-header h2{font-size:16px}}.primary-leader-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.back-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s}.back-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.primary-leaders-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.leader-card{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;display:flex;justify-content:space-between;overflow:hidden;padding:20px;position:relative;transition:all .3s}.leader-card:before{background:linear-gradient(90deg,#ffd89b,#19547b);content:"";height:4px;left:0;position:absolute;right:0;top:0}.leader-card:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.leader-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.leader-name-block{display:flex;flex-direction:column;gap:6px}.leader-display-name{color:#fff;font-size:20px;font-weight:600;line-height:1.3}.leader-username{color:#ffffffd9;font-size:15px;font-weight:400;line-height:1.3}.leader-roles{background:#ffffff26;border-radius:6px;color:#ffffffe6;display:inline-block;font-size:14px;padding:6px 12px;width:-webkit-fit-content;width:fit-content}.remove-btn{background:#f44336e6;border:none;border-radius:8px;box-shadow:0 2px 8px #f443364d;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .3s;white-space:nowrap}.remove-btn:hover{background:#f44336;box-shadow:0 4px 12px #f4433666;transform:translateY(-2px)}.users-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.user-card{align-items:flex-start;border:2px solid #e8eaf6;box-shadow:0 2px 8px #0000000d}.user-card:hover{border-color:#5dade2;box-shadow:0 4px 16px #5dade233}.user-info{flex:1 1;flex-direction:column;gap:8px}.user-name-block{display:flex;flex-direction:column;gap:6px}.user-display-name{color:#333;font-size:17px;font-weight:600;line-height:1.3}.user-username{color:#666;font-size:15px;font-weight:400;line-height:1.3}.user-roles{background:#f5f5f5;border-radius:6px;color:#666;display:inline-block;font-size:14px;padding:6px 12px;width:-webkit-fit-content;width:fit-content}.set-leader-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;box-shadow:0 2px 8px #4caf504d;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 18px;transition:all .3s;white-space:nowrap}.set-leader-btn:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.role-section{margin-bottom:32px}.role-section:last-child{margin-bottom:0}.role-section-title{border-bottom:2px solid #5dade2;color:#333;display:inline-block;font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:12px}.user-management-container{background-color:#f5f5f5;min-height:100vh;padding-bottom:40px}.user-management-header{align-items:center;background:linear-gradient(135deg,#1e88e5,#1565c0);box-shadow:0 4px 12px #00000014;display:flex;gap:12px;max-width:100%;padding:16px 32px}.header-title{color:#fff;flex:1 1;font-size:18px;font-weight:500;margin:0}.header-spacer{width:36px}.user-management-content{margin:0 auto;max-width:1240px;padding:24px 20px}.stats-grid-user{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stat-card{padding:24px 20px}.stat-total{background:linear-gradient(135deg,#e1bee7,#ce93d8);border-color:#ba68c8}.stat-pending{background:linear-gradient(135deg,#fff9e6,#fff3cc);border-color:#ffe699}.stat-approved{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#a5d6a7}.stat-rejected{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#ef9a9a}.stat-number{color:#333}.stat-label{color:#666}.tab.active,.tab:hover{color:#1976d2}.tab.active{border-bottom-color:#1976d2}.user-list{display:flex;flex-direction:column;gap:16px}.user-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:20px;justify-content:space-between;padding:20px;transition:all .3s}.user-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.user-info-section{display:flex;flex:1 1;gap:16px}.user-avatar-large{align-items:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:50%;display:flex;flex-shrink:0;font-size:32px;height:60px;justify-content:center;width:60px}.user-details{flex:1 1}.user-name{margin:0 0 8px}.user-meta{color:#666;font-size:13px;gap:12px;margin-bottom:6px}.user-meta,.user-roles{display:flex;flex-wrap:wrap}.user-roles{gap:8px;margin-top:10px}.role-badge{background:#e3f2fd;color:#1976d2}.user-actions{align-items:flex-end;display:flex;flex-direction:column;gap:12px}.status-badge-user{border-radius:16px;font-size:13px;font-weight:600;padding:6px 16px;white-space:nowrap}.status-badge-user.status-pending{background:#fff9e6;color:#f57c00}.status-badge-user.status-approved{background:#e8f5e9;color:#388e3c}.status-badge-user.status-rejected{background:#ffebee;color:#d32f2f}.action-buttons{display:flex;gap:8px}.btn-approve-user,.btn-delete-user,.btn-edit-roles,.btn-reject-user{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .3s}.btn-approve-user{background:#4caf50;color:#fff}.btn-approve-user:hover{background:#43a047}.btn-reject-user{background:#f44336;color:#fff}.btn-reject-user:hover{background:#d32f2f}.btn-edit-roles{background:#1976d2;color:#fff}.btn-edit-roles:hover{background:#1565c0}.btn-delete-user{background:#ff5722;border:1px solid #ff5722;color:#fff}.btn-delete-user:hover{background:#e64a19;border-color:#e64a19;box-shadow:0 2px 8px #ff57224d;transform:translateY(-1px)}.empty-state,.modal-content{border-radius:12px}.modal-content{max-height:80vh;padding:24px}.modal-content h3{color:#333;font-size:20px;margin:0 0 8px}.modal-subtitle{color:#666;font-size:14px;margin:0 0 20px}.roles-selection{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:20px}.role-option{align-items:center;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:14px;transition:all .3s}.role-option:hover{background:#f5f5f5;border-color:#1976d2}.role-option.selected{background:#e3f2fd;border-color:#1976d2}.role-icon{font-size:24px}.role-label{color:#333;flex:1 1;font-size:15px;font-weight:500}.role-check{color:#1976d2;font-size:20px;font-weight:700}.selected-roles-preview{background:#f9f9f9;border-radius:8px;margin-bottom:20px;padding:16px}.selected-roles-preview strong{color:#333;display:block;margin-bottom:10px}.preview-badge{background:#1976d2;border-radius:12px;color:#fff;display:inline-block;font-size:12px;margin:4px 4px 4px 0;padding:4px 12px}.modal-buttons button{border-radius:4px;font-size:14px;padding:10px 20px;transition:background .3s}.modal-buttons button:first-child{background:#e0e0e0;color:#333}.modal-buttons button:first-child:hover{background:#d0d0d0}.modal-buttons button.primary{background:#1976d2}.modal-buttons button.primary:hover{background:#1565c0}@media (max-width:768px){.user-management-header{align-items:flex-start;flex-direction:column;gap:16px;padding:16px 20px}.header-left,.header-right{width:100%}.header-right{justify-content:space-between}.user-avatar{font-size:20px;height:40px;width:40px}.user-name{font-size:16px}.role-badge{font-size:11px;padding:3px 10px}.back-btn{font-size:14px;min-height:44px;padding:10px 16px}.user-management-content{padding:16px}.stats-grid-user{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card-user{padding:16px}.stat-value-user{font-size:28px}.stat-label-user{font-size:13px}.tabs-container{margin-bottom:20px}.tabs{flex-wrap:wrap;gap:8px;padding:0 16px}.tab{font-size:14px;min-height:44px;padding:10px 16px}.user-card{align-items:flex-start;flex-direction:column;padding:16px}.user-info{width:100%}.user-name-text{font-size:16px}.user-email{font-size:13px}.user-roles{font-size:12px}.user-actions{align-items:stretch}.action-buttons,.user-actions{flex-direction:column;gap:10px;width:100%}.btn-approve-user,.btn-edit-roles,.btn-reject-user{font-size:13px;min-height:44px;padding:10px 16px;width:100%}.modal-content{margin:20px;max-width:95%;padding:20px}.modal-header h2{font-size:18px}.close-btn{font-size:20px;height:32px;width:32px}.form-group label{font-size:13px}.modal-actions{flex-direction:column;gap:10px}.modal-actions button{min-height:44px;width:100%}.role-option{padding:12px}.role-label{font-size:14px}}@media (max-width:480px){.user-management-header{padding:12px 16px}.user-info-header{gap:12px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.user-management-content{padding:12px}.stats-grid-user{grid-template-columns:1fr}.stat-card-user{padding:20px 16px}.tabs{gap:6px;padding:0 12px}.tab{font-size:13px;padding:8px 12px}.user-card{padding:14px}.user-name-text{font-size:15px}.modal-content{margin:16px;padding:16px}.modal-header h2{font-size:16px}}.initiation-container{animation:fadeIn .3s ease-out;background-color:#f5f5f5;min-height:100vh}.initiation-header{align-items:center;background:linear-gradient(135deg,#fff9e6,#fff3cc);box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;max-width:100%;padding:12px 32px}.header-left{color:#333}.user-avatar{font-size:22px;height:44px;width:44px}.user-details{color:#333}.user-role{font-size:12px}.role-badges{display:flex;gap:6px;margin-top:4px}.role-badge{border:1.5px solid #ddd;color:#666;cursor:pointer;font-weight:500;transition:all .3s}.role-badge.active{background:#fff;border:1.5px solid #f57c00;color:#f57c00;font-weight:600}.role-badge:hover{border-color:#f57c00;color:#f57c00}.role-badge.single-role{background:#fff;border:1.5px solid #f57c00;color:#f57c00;cursor:default!important;font-weight:600}.role-badge.single-role:hover{background:#fff!important;border-color:#f57c00!important}.icon-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;transition:background .3s;width:36px}.icon-button:hover{background:#ffffff4d}.menu-wrapper{position:relative}.dropdown-menu{background:#fff;border-radius:4px;box-shadow:0 2px 8px #00000026;min-width:120px;position:absolute;right:0;top:45px;z-index:100}.dropdown-menu button{background:none;border:none;color:#333;cursor:pointer;font-size:14px;padding:12px 16px;text-align:left;width:100%}.dropdown-menu button:hover{background-color:#f5f5f5}.initiation-content{box-sizing:border-box;margin:0 auto;max-width:1240px;padding:24px 20px;width:100%}.title-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.page-title{border-bottom:2px solid #e0e0e0;color:#333;flex:1 1;font-size:24px;font-weight:600}.create-btn{align-items:center;background:#fff;border:1.5px solid #ddd;border-radius:6px;box-shadow:0 2px 4px #00000014;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s}.create-btn:hover{background:#f8f8f8;border-color:#bbb;box-shadow:0 4px 8px #0000001f;transform:translateY(-1px)}.header-right .logout-btn:hover,.initiation-header .logout-btn:hover,.logout-btn:hover{background:#ffebee!important;border-color:#f44!important;box-shadow:0 4px 8px #ff44444d;color:#333!important;transform:translateY(-1px)}.switch-view-btn{align-items:center;background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;border-radius:6px;box-shadow:0 2px 8px #4facfe4d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s}.switch-view-btn:hover{background:linear-gradient(135deg,#00f2fe,#4facfe);box-shadow:0 4px 12px #4facfe66;transform:translateY(-2px)}.schedule-management-btn{align-items:center;background:linear-gradient(135deg,#8e44ad,#9b59b6);border:none;border-radius:6px;box-shadow:0 2px 8px #8e44ad4d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s}.schedule-management-btn:hover{background:linear-gradient(135deg,#9b59b6,#8e44ad);box-shadow:0 4px 12px #8e44ad66;transform:translateY(-2px)}.archive-management-btn{align-items:center;background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:6px;box-shadow:0 2px 8px #4caf504d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s}.archive-management-btn:hover{background:linear-gradient(135deg,#66bb6a,#4caf50);box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.initiation-content .stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px;width:100%}.stat-card{box-sizing:border-box}.stat-card.stat-approved{background:linear-gradient(135deg,#c8e6c9,#66bb6a);border-color:#4caf50;color:#1b5e20}.stat-card.stat-rejected{background:linear-gradient(135deg,#ffcdd2,#e57373);border-color:#ef5350;color:#c62828}.tab.active,.tab:hover{color:#6a1b9a}.tab.active{border-bottom-color:#6a1b9a}.project-card:hover{border-color:#6a1b9a}.project-type{color:#6a1b9a}.progress-text{color:inherit;font-size:11px;font-weight:700;opacity:.9}.status-approved{background-color:#e8f5e9;color:#388e3c}.status-rejected{background-color:#ffebee;color:#d32f2f}.priority-normal{color:#388e3c}.project-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;margin-top:16px;padding-top:16px}.btn-approve,.btn-reject{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s}.empty-state{padding:48px 16px}.empty-icon{font-size:48px}.empty-state p{font-size:14px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;padding:32px;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content.large{max-width:680px}.modal-content h3{border-bottom:2px solid #f0f0f0;color:#1a1a1a;font-size:24px;font-weight:700;margin:0 0 28px;padding-bottom:16px;text-align:center}.form-group label{align-items:center;color:#2c3e50;display:inline-flex;font-size:14px;font-weight:600;gap:4px;margin-bottom:10px;white-space:nowrap}.form-group label:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;content:"";flex-shrink:0;height:14px;width:3px}.form-group input,.form-group select,.form-group textarea{background:#fafafa;border:2px solid #e8e8e8;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:15px;outline:none;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{background:#fff;border-color:#d0d0d0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.form-group textarea{line-height:1.6;min-height:100px;resize:vertical}.input-with-unit{align-items:center;display:flex;position:relative}.input-with-unit input{flex:1 1;padding-right:50px!important}.input-with-unit .unit-label{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#888;font-size:14px;font-weight:600;pointer-events:none;position:absolute;right:16px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.form-notice{align-items:center;background:#e3f2fd;border-left:4px solid #1976d2;border-radius:4px;display:flex;gap:10px;margin-bottom:16px;padding:12px}.notice-icon{flex-shrink:0;font-size:18px}.notice-text{color:#1565c0;font-size:13px;line-height:1.5}.modal-buttons{border-top:1px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.modal-buttons button{border:none;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;font-size:15px;font-weight:600;padding:12px 28px;transition:all .3s ease}.modal-buttons button:first-child{background:#f5f5f5;border:2px solid #e0e0e0;color:#555}.modal-buttons button:first-child:hover{background:#e8e8e8;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.modal-buttons button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;overflow:hidden;position:relative}.modal-buttons button.primary:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.modal-buttons button.primary:hover:before{left:100%}.modal-buttons button.primary:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}@media (max-width:768px){.initiation-header{align-items:center;flex-direction:row;flex-wrap:wrap;gap:12px;padding:12px 16px}.header-left{flex:1 1;min-width:0}.user-info{gap:10px}.header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.role-badge{font-size:10px;padding:2px 8px}.archive-management-btn,.back-btn,.logout-btn,.schedule-management-btn{font-size:13px;min-height:36px;padding:8px 14px;white-space:nowrap}.initiation-content{padding:16px}.initiation-content .stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:140px;padding:20px 16px}.stat-icon{font-size:40px;margin-bottom:8px}.stat-number{font-size:32px;margin-bottom:4px}.stat-label{font-size:13px}.tabs-container{margin:0 0 20px;padding:0}.tabs{-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;padding:0;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:1 1;font-size:14px;min-height:44px;min-width:80px;padding:12px 16px;white-space:nowrap}.section-title{font-size:18px}.title-bar{align-items:flex-start;flex-direction:column;gap:12px}.create-btn{font-size:15px;min-height:48px;padding:12px 20px;width:100%}.project-list{gap:16px}.project-card{padding:16px}.project-title-text{font-size:16px}.project-type{font-size:11px;padding:4px 10px}.project-description{font-size:13px}.project-meta{flex-direction:column;font-size:12px;gap:8px}.project-actions{flex-direction:column;gap:10px}.btn-delete,.btn-edit,.btn-view{font-size:13px;min-height:44px;padding:10px 16px;width:100%}.form-row{gap:16px;grid-template-columns:1fr}.form-group label{font-size:13px}.form-input,.form-select,.form-textarea{font-size:15px;padding:12px}.input-with-unit input{font-size:15px}.form-actions{flex-direction:column;gap:10px}.btn-cancel,.btn-submit{font-size:15px;min-height:48px;padding:12px 20px;width:100%}.modal-content{margin:20px;max-width:95%;padding:20px}.modal-header h2{font-size:18px}.close-btn{font-size:20px;height:32px;width:32px}.detail-grid{grid-template-columns:1fr}.detail-item label{font-size:12px}.detail-item span{font-size:14px}}@media (max-width:480px){.initiation-header{padding:12px 16px}.user-info{gap:12px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.initiation-content{padding:12px}.initiation-content .stats-grid{gap:10px;grid-template-columns:1fr}.stat-card{min-height:120px;padding:18px 16px}.stat-icon{font-size:36px;margin-bottom:6px}.stat-number{font-size:28px}.tabs{gap:0;overflow-x:auto;padding:0}.tab{flex:1 1;font-size:13px;min-width:70px;padding:10px 12px}.section-title{font-size:17px;margin-bottom:12px}.title-bar{margin-bottom:16px}.create-btn{font-size:14px;padding:12px 20px;width:100%}.project-list{gap:12px}.project-card{padding:16px}.project-title-text{font-size:15px}.project-type{font-size:10px}.project-description{font-size:12px}.form-row{gap:12px}.btn-cancel,.btn-submit{font-size:14px;padding:12px 16px}.modal-content{margin:16px;padding:16px}.modal-header h2{font-size:16px}}@media (max-width:768px){.initiation-header{align-items:flex-start!important;flex-direction:column!important}.initiation-header .header-left{width:100%}.initiation-header .header-right{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%}.initiation-header .header-right:has(:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}.initiation-header .header-right:has(:nth-child(4):last-child){grid-template-columns:repeat(4,1fr)}.initiation-header .header-right:has(:nth-child(5):last-child){grid-template-columns:repeat(5,1fr)}.initiation-header .header-right>button{font-size:12px;justify-content:center;line-height:1.3;min-width:0;padding:10px 6px;text-align:center;white-space:normal;width:100%}}.project-detail-container{background-color:#f5f5f5;min-height:100vh;padding-bottom:80px}.approve-toast{background:#38b2acfa;border-radius:12px;box-shadow:0 6px 18px #0003;color:#fff;font-size:16px;font-weight:800;left:50%;letter-spacing:.6px;padding:14px 22px;position:fixed;top:24%;transform:translateX(-50%);z-index:10000}.project-detail-header{align-items:center;background:linear-gradient(135deg,#6a1b9a,#4a148c);box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.header-right-actions{align-items:center;display:flex;gap:10px}.btn-delete-project,.btn-edit-project{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s ease}.btn-edit-project:hover{background:#ffffff4d;transform:translateY(-2px)}.btn-delete-project:hover{background:#f44336cc;border-color:#f44336;transform:translateY(-2px)}.status-badge-large{background:#fff;border-radius:20px;font-size:14px;font-weight:600;padding:8px 16px}.status-badge-large.status-pending{color:#f57c00}.status-badge-large.status-approved{color:#388e3c}.status-badge-large.status-rejected{color:#d32f2f}.project-detail-content{margin:0 auto;max-width:1000px;padding:20px}.project-basic-info{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.project-name{flex:1 1;margin:0}.project-type-badge{background:linear-gradient(135deg,#e1bee7,#ce93d8);border-radius:20px;color:#6a1b9a;padding:8px 20px}.section-content{color:#666;font-size:14px;line-height:1.6}.info-grid{grid-gap:20px;gap:20px}.description-box{background:#f9f9f9;border-left:4px solid #6a1b9a}.description-box h5{color:#6a1b9a;margin:0 0 10px}.description-box p{color:#666;line-height:1.8}.contract-file{background:#f9f9f9;border-radius:8px;padding:16px}.file-item{border:1px solid #e0e0e0}.file-name{font-size:15px}.file-meta{color:#999}.btn-download{background:#6a1b9a;border:none;border-radius:4px;cursor:pointer;font-size:13px;padding:8px 16px;transition:background .3s}.btn-download:hover{background:#4a148c}.empty-contract{padding:32px 16px;text-align:center}.empty-icon{margin-bottom:12px;opacity:.3}.empty-contract p{color:#999;margin:0 0 16px}.upload-area{margin-top:20px}.upload-button{background:#6a1b9a;border-radius:4px;font-size:14px;padding:12px 24px;transition:background .3s}.upload-button:hover{background:#4a148c}.approval-status{background:#f9f9f9;border-radius:8px;margin-bottom:16px;padding:16px}.status-item:last-child{margin-bottom:0}.status-label{color:#666}.status-text.status-pending{color:#f57c00}.status-text.status-approved{color:#388e3c}.status-text.status-rejected{color:#d32f2f}.approval-section h5{color:#333;font-size:14px;font-weight:600;margin:16px 0 12px}.feedback-textarea{border:1px solid #e0e0e0;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:14px;outline:none;padding:12px;resize:vertical;transition:border-color .3s;width:100%}.feedback-textarea:focus{border-color:#6a1b9a}.detail-footer{background:#fff;bottom:0;box-shadow:0 -2px 8px #0000001a;display:flex;gap:12px;left:0;padding:12px 16px;position:fixed;right:0;z-index:10}.footer-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px;transition:all .3s}.btn-reject{background:#f44336;color:#fff}.btn-reject:hover{background:#d32f2f}.btn-approve{background:#4caf50;color:#fff}.btn-approve:hover{background:#43a047}.edit-form{background:#f9f9f9;border:2px dashed #ccc;border-radius:8px;padding:20px}.edit-form .form-group{margin-bottom:20px}.edit-form label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.edit-form input,.edit-form select,.edit-form textarea{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .3s;width:100%}.edit-form input:focus,.edit-form select:focus,.edit-form textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.edit-form .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.edit-form .input-with-unit{align-items:center;display:flex;position:relative}.edit-form .input-with-unit input{flex:1 1;padding-right:40px!important}.edit-form .input-with-unit .unit-label{color:#666;font-size:14px;font-weight:500;pointer-events:none;position:absolute;right:12px}.edit-actions{border-top:2px solid #ddd;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.btn-cancel,.btn-save{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .3s ease}.btn-cancel{background:#e0e0e0;color:#333}.btn-cancel:hover{background:#d0d0d0}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-save:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.progress-indicator{background:#667eea1a;border-radius:4px;color:#667eea;font-size:12px;font-weight:600;padding:2px 6px}.approval-records{border-top:2px solid #e2e8f0;margin-top:20px;padding-top:16px}.approval-records h5{color:#2d3748;font-size:15px;font-weight:600;margin:0 0 16px}.records-list{display:flex;flex-direction:column;gap:12px}.approval-record{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;transition:all .2s ease}.approval-record:hover{background:#edf2f7}.record-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.record-approver{color:#2d3748;font-size:14px;font-weight:600}.record-decision{border-radius:12px;font-size:13px;font-weight:600;padding:4px 12px}.record-decision.approve{background:linear-gradient(135deg,#68d391,#38a169);color:#fff}.record-decision.reject{background:linear-gradient(135deg,#fc8181,#e53e3e);color:#fff}.record-time{color:#718096;font-size:12px}.record-comment{background:#fff;border-left:3px solid #667eea;border-radius:6px;color:#4a5568;font-size:14px;padding:8px 12px}.already-approved{border-top:2px solid #e2e8f0;margin-top:16px;padding-top:16px}.approved-notice{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #c3e6cb;border-radius:8px;color:#155724;font-weight:600;padding:16px;text-align:center}.final-approval,.rejection-info{border-top:2px solid #e2e8f0;margin-top:16px;padding-top:16px}.rejection-reason{background:#fed7d7;border-left:3px solid #e53e3e;border-radius:6px;color:#c53030;font-weight:500;padding:8px 12px}.reject-reason-textarea{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;margin-bottom:16px;outline:none;padding:12px;resize:vertical;transition:border-color .3s;width:100%}.reject-reason-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-buttons button.danger{background:linear-gradient(135deg,#fc8181,#e53e3e);color:#fff}.modal-buttons button.danger:hover:not(:disabled){background:linear-gradient(135deg,#e53e3e,#c53030);box-shadow:0 4px 12px #e53e3e66;transform:translateY(-2px)}.modal-buttons button:disabled{background:#e2e8f0;box-shadow:none;color:#a0aec0;cursor:not-allowed;transform:none}@media (max-width:768px){.info-grid{grid-template-columns:1fr}.project-basic-info{align-items:flex-start;flex-direction:column}.edit-form .form-row{grid-template-columns:1fr}.header-right-actions{flex-wrap:wrap}.btn-delete-project,.btn-edit-project{font-size:12px;padding:6px 12px}}.development-container{background-color:#f5f7fa;min-height:100vh}.development-header{align-items:center;background:linear-gradient(135deg,#fff9e6,#fff3cc);box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;max-width:100%;padding:16px 32px}.user-avatar{background-color:#fff;box-shadow:0 2px 8px #0000001a}.user-details{color:#424242}.user-name{font-size:18px;margin-bottom:4px}.primary-leader-badge{font-size:14px}.user-role{font-size:13px;font-weight:400;opacity:.7}.user-role-badges{display:flex;gap:6px;margin-top:4px}.role-badge{background:#fff;border:1.5px solid #f57c00;border-radius:12px;color:#f57c00;font-size:12px;font-weight:600;padding:4px 12px}.back-to-initiation-btn{align-items:center;background:#ffffffb3;border:1px solid #0003;border-radius:8px;color:#424242;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .3s ease}.back-to-initiation-btn:hover{background:#ffffffe6;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.development-content{box-sizing:border-box;margin:0 auto;max-width:1400px;padding:32px 40px;width:100%}.title-bar{margin-bottom:28px}.page-title{border-bottom:3px solid #e2e8f0;color:#2d3748;margin:0;padding-bottom:16px}.development-content .stats-grid{align-items:stretch;display:flex!important;gap:24px;justify-content:center;margin-bottom:32px}.development-content .stat-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 4px 12px #00000014;box-sizing:border-box;flex-shrink:0;padding:32px 24px;text-align:center;transition:all .3s ease;width:240px}.stat-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-6px)}.stat-total{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-development{background:linear-gradient(135deg,#e9d5ff,#c4b5fd);color:#2d3436}.stat-completed{background:linear-gradient(135deg,#55efc4,#00b894);color:#fff}.stat-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));margin-bottom:16px}.stat-number{font-size:42px;font-weight:800}.stat-label{font-weight:600;opacity:.95}.stat-completed .stat-label,.stat-completed .stat-number,.stat-total .stat-label,.stat-total .stat-number{color:#fff}.tabs{border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #00000014;box-sizing:border-box;margin-bottom:28px;width:100%}.tab{color:#718096;padding:16px 12px;transition:all .3s ease}.tab:hover{background-color:#f7fafc;color:#4facfe}.tab.active{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-bottom-color:#4facfe;color:#4facfe}.project-list{gap:20px;width:100%}.project-card{border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #00000014;box-sizing:border-box;padding:24px 28px;width:100%}.project-card:hover{border-color:#4facfe;box-shadow:0 8px 24px #4facfe33;transform:translateY(-4px)}.project-header{margin-bottom:16px}.project-type{color:#4a5568;font-size:14px;font-weight:600}.status-badge{border-radius:20px;font-size:13px;font-weight:600;padding:6px 14px}.status-development{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);color:#2d3436}.status-completed{background:linear-gradient(135deg,#55efc4,#00b894);color:#fff}.project-title{color:#2d3748;font-size:20px;font-weight:700;margin:0 0 12px}.project-description{color:#718096;margin:0 0 16px}.project-meta{border-top:1px solid #e2e8f0;color:#4a5568;padding-top:12px}.project-meta span{align-items:center;display:inline-flex;gap:4px}.file-count{background:#edf2f7;border-radius:8px;color:#4a5568;font-weight:500;margin-top:12px;padding:8px 12px}.loading-state{padding:60px 32px;text-align:center}.loading-image{margin:0 auto 12px}.empty-state{background:#fff;border:2px dashed #cbd5e0;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:60px 32px}.empty-icon{margin-bottom:20px;opacity:.6}.empty-state p{color:#718096;font-weight:500}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.development-header{padding:16px 20px}.development-content{padding:20px 16px}.stats-grid{grid-template-columns:1fr}.project-card{padding:20px}.tabs{flex-wrap:wrap}.tab{min-width:50%}.development-header{align-items:center;align-items:flex-start!important;flex-direction:row;flex-direction:column!important;flex-wrap:wrap;gap:12px;padding:12px 16px!important}.header-left{width:100%}.user-info{gap:10px}.header-right{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);width:100%}.back-to-initiation-btn,.logout-btn{font-size:13px;gap:4px;justify-content:center;min-width:0;padding:10px 8px;text-align:center;white-space:nowrap;width:100%}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.role-badge{font-size:10px;padding:2px 8px}.btn-logout{font-size:13px;min-height:36px;padding:8px 14px;white-space:nowrap}.user-name{font-size:16px}.role-badge{font-size:11px;padding:3px 10px}.logout-btn{font-size:14px;min-height:44px;padding:10px 16px}.development-content{padding:16px}.stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-value{font-size:28px}.stat-label{font-size:13px}.tabs-container{margin:16px 0;padding:0}.tabs{gap:8px;padding:0 16px}.tab{font-size:14px;min-height:44px;min-width:auto;padding:10px 16px}.project-list{gap:16px}.project-card{padding:16px}.project-title{font-size:16px}.project-description{font-size:13px}.project-meta{flex-direction:column;gap:6px}.file-count,.project-meta{font-size:12px}.status-badge{font-size:11px;padding:4px 10px}}@media (max-width:480px){.development-header{padding:12px 16px}.user-info{gap:12px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.stats-grid{grid-template-columns:1fr}.stat-card{padding:20px 16px}.tabs{gap:6px;padding:0 12px}.tab{font-size:13px;padding:8px 12px}.project-card{padding:14px}.project-type{font-size:12px}.development-content{padding:12px}}.remaining-days{align-items:center;background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-left:4px solid #0ea5e9;border-radius:8px;color:#0369a1;display:flex;font-size:15px;font-weight:600;gap:8px;margin-top:12px;padding:10px 14px}.remaining-days.urgent{animation:urgentPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#fee2e2,#fecaca);border-left-color:#ef4444;color:#991b1b}@keyframes urgentPulse{0%,to{box-shadow:0 0 0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}.urgent-badge{background-color:#dc2626;border-radius:12px;color:#fff;font-size:12px;font-weight:700;margin-left:auto;padding:3px 10px}.development-detail-container{background-color:#f5f7fa;min-height:100vh;padding-bottom:80px}.loading-spinner{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;padding:32px 48px;text-align:center}.loading-image{animation:pulse 1.2s ease-in-out infinite;height:72px;object-fit:contain;width:72px}@keyframes pulse{0%{opacity:.85;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}to{opacity:.85;transform:scale(.96)}}.loading-spinner p{color:#666;font-size:14px;margin:0}.development-detail-header{align-items:center;background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.back-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;transition:background .3s;width:36px}.back-button:hover{background:#ffffff4d}.detail-title{font-size:18px;font-weight:500}.header-actions{display:flex;gap:10px}.btn-push{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s ease}.btn-push:hover{background:#ffffff4d;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.development-detail-content{margin:0 auto;max-width:1000px;padding:20px}.detail-section{padding:20px}.section-header{gap:10px;margin-bottom:16px}.project-info{padding:16px}.project-name{color:#2d3748;font-size:24px;font-weight:700;margin:0 0 20px}.info-grid{margin-bottom:20px}.info-label{color:#718096}.info-value{color:#2d3748;font-weight:600}.info-value.highlight-time{color:#3b82f6;font-size:16px;font-weight:700}.info-value.normal-time{color:#10b981;font-weight:700}.info-value.urgent-time{animation:urgentBlink 2s ease-in-out infinite;color:#f59e0b;font-weight:700}.info-value.overdue-time{animation:overduePulse 1.5s ease-in-out infinite;color:#ef4444;font-weight:700}@keyframes urgentBlink{0%,to{opacity:1}50%{opacity:.6}}@keyframes overduePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.description-box{background:#f7fafc;border-left:4px solid #4facfe}.description-box h5{color:#4a5568;font-size:14px;font-weight:600;margin:0 0 8px}.description-box p{color:#2d3748;font-size:14px;line-height:1.6;margin:0}.file-subsection{border-bottom:1px solid #e2e8f0;margin-bottom:24px;padding:16px}.file-subsection:last-child{border-bottom:none;margin-bottom:0}.subsection-title{border-bottom:1px dashed #cbd5e0;color:#2d3748;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.file-upload-section{padding:0}.upload-area{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px dashed #4facfe;border-radius:12px;margin-bottom:24px;padding:32px;text-align:center}.upload-button{background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:15px;font-weight:600;padding:12px 32px;transition:all .3s ease}.upload-button:hover{box-shadow:0 4px 12px #4facfe66;transform:translateY(-2px)}.upload-hint{color:#718096;font-size:13px;margin:12px 0 0}.file-list{margin-top:20px}.file-list h4,.file-list h5{color:#2d3748;font-size:15px;font-weight:600;margin:0 0 16px}.file-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;gap:12px;margin-bottom:12px;padding:16px;transition:all .2s ease}.file-item:hover{background:#edf2f7;border-color:#cbd5e0;box-shadow:0 2px 8px #0000001a}.file-preview-area{align-items:center;display:flex;flex:1 1;gap:12px;transition:all .2s ease}.file-preview-area:hover{opacity:.8}.file-icon{flex-shrink:0;font-size:32px}.file-name{color:#2d3748;font-weight:600;margin-bottom:4px}.file-meta{color:#718096;font-size:12px;margin-bottom:2px}.file-hint{color:#4facfe;font-size:11px;font-style:italic;margin-top:2px}.file-actions{align-items:center}.btn-download-file{background:#bee3f8;border:1px solid #4299e1;border-radius:6px;color:#2c5282;cursor:pointer;font-size:16px;padding:8px 12px;transition:all .2s ease}.btn-download-file:hover{background:#4299e1;color:#fff;transform:scale(1.1)}.btn-delete-file{background:#fed7d7;border:1px solid #fc8181;border-radius:6px;color:#c53030;cursor:pointer;font-size:16px;padding:8px 12px;transition:all .2s ease}.btn-delete-file:hover{background:#fc8181;color:#fff;transform:scale(1.1)}.empty-files{color:#a0aec0;padding:40px 20px;text-align:center}.empty-files .empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.empty-files p{font-size:14px;margin:0}.completion-info{background:#0000!important;padding:16px}.status-item{align-items:center;display:flex;gap:12px;margin-bottom:12px}.status-label{color:#718096;font-size:14px;font-weight:500;min-width:100px}.status-text{color:#2d3748;font-size:15px;font-weight:600}.status-completed{background:#0000!important;color:#00b894!important}.completion-notice{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-left:4px solid #00b894;border-radius:8px;margin-top:20px;padding:16px}.completion-notice p{color:#155724;font-size:14px;font-weight:500;margin:0}.push-section{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;padding:20px;text-align:center}.btn-push-bottom{align-items:center;background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;border-radius:10px;box-shadow:0 4px 12px #4facfe4d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;padding:16px 32px;transition:all .3s ease;width:100%}.btn-push-bottom:hover{background:linear-gradient(135deg,#00f2fe,#4facfe);box-shadow:0 6px 20px #4facfe80;transform:translateY(-3px)}.btn-push-bottom:active{box-shadow:0 4px 12px #4facfe66;transform:translateY(-1px)}.success-modal-overlay{animation:fadeIn .3s ease;background:#000000bf;z-index:10001}.success-modal-content{animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275);background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000080;max-width:500px;padding:48px 64px;text-align:center}.success-icon{animation:bounceIn .6s ease;font-size:80px;margin-bottom:24px}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.success-title{color:#00b894;font-size:32px;font-weight:700;margin:0 0 16px}.success-message{color:#2d3748;font-size:18px;line-height:1.6;margin:0 0 32px}.success-loading{align-items:center;display:flex;flex-direction:column;gap:12px}.success-loading p{color:#718096;font-size:14px;margin:0}.success-spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#4facfe;height:40px;width:40px}.image-preview-modal{animation:fadeIn .3s ease;background:#000000d9;padding:20px}.preview-modal-content{animation:slideUp .3s ease;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.preview-header{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-bottom:1px solid #e2e8f0;padding:20px 24px}.preview-header h3{color:#2d3748;font-size:20px}.close-preview-btn{background:#0000;color:#718096;font-size:28px;height:40px;transition:all .2s ease;width:40px}.close-preview-btn:hover{background:#e2e8f0;color:#2d3748;transform:rotate(90deg)}.preview-body{background:#f7fafc;flex:1 1;overflow:auto;padding:24px}.preview-image{box-shadow:0 4px 20px #0003}.no-preview{color:#a0aec0;padding:60px 40px;text-align:center}.no-preview p{font-size:16px;margin:0 0 12px}.preview-filename{color:#718096;font-size:14px;font-style:italic}.preview-footer{border-top:1px solid #e2e8f0;padding:20px 24px}.preview-info{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.preview-info p{background:#f7fafc;border-radius:6px;color:#4a5568;padding:8px 12px}.preview-info strong{color:#2d3748;margin-right:8px}.btn-download-preview{align-items:center;background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:8px;box-shadow:0 2px 8px #4facfe4d;display:flex;font-size:15px;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-download-preview:hover{box-shadow:0 4px 12px #4facfe80}.btn-download-preview:active{transform:translateY(0)}.file-folder-container{background:#fff;border:1px solid #e1e8ed;border-radius:8px;margin:16px 0;overflow:hidden;transition:all .3s ease}.file-folder-container:hover{box-shadow:0 2px 8px #00000014}.file-folder-container.group-folder{background:#f7fafc;border:1px solid #e1e8ed}.file-folder-container.group-folder .folder-header{background:#f7fafc}.file-folder-container.group-folder .expand-icon,.file-folder-container.group-folder .file-count,.file-folder-container.group-folder .folder-title{color:#2c3e50}.file-folder-container.group-folder .folder-arrow{filter:none}.nested-folders{background:#f8f9fa;padding:12px 12px 12px 48px}.file-folder-container.subfolder{background:#fff;border:none;border-left:3px solid #dee2e6;border-radius:4px;margin:6px 0}.file-folder-container.subfolder .folder-header{background:#fff;padding:10px 16px}.file-folder-container.subfolder .folder-arrow,.file-folder-container.subfolder .folder-icon{display:none}.file-folder-container.subfolder .folder-title{font-size:14px;font-weight:500}.file-folder-container.subfolder .expand-icon,.file-folder-container.subfolder .file-count{font-size:12px}.folder-header{background:linear-gradient(135deg,#f8f9fa,#f1f3f5);padding:14px 20px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.folder-header:hover{background:linear-gradient(135deg,#f1f3f5,#e9ecef)}.folder-header.expanded{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-bottom:1px solid #e1e8ed}.folder-arrow{font-size:20px;transition:transform .2s ease}.folder-icon{font-size:18px}.folder-title{color:#2c3e50;font-size:15px;font-weight:600}.file-count{color:#7f8c8d;margin-left:8px}.expand-icon{color:#95a5a6;font-size:14px;transition:transform .2s ease}.folder-header.expanded .expand-icon{transform:rotate(0deg)}.folder-content{animation:slideDown .3s ease;background:#fff;padding:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.file-list-compact{padding:0}.file-item-compact{align-items:center;border-bottom:1px solid #f1f3f5;display:flex;justify-content:space-between;padding:12px 20px;transition:background .2s ease}.file-item-compact:last-child{border-bottom:none}.file-item-compact:hover{background:#f8f9fa}.file-preview-compact{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:12px;min-width:0}.file-icon-mini{flex-shrink:0;font-size:24px}.file-info-compact{flex:1 1;min-width:0}.file-name-compact{color:#2c3e50;font-size:14px;font-weight:500;margin-bottom:4px}.file-meta-compact,.file-name-compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta-compact{color:#7f8c8d;font-size:12px}.file-actions-compact{display:flex;flex-shrink:0;gap:8px}.btn-action-compact{background:#0000;border:none;border-radius:6px;cursor:pointer;font-size:16px;padding:6px 12px;transition:all .2s ease}.btn-action-compact:hover{transform:scale(1.1)}.btn-view{color:#3498db}.btn-view:hover{background:#ebf5fb}.btn-download{color:#27ae60}.btn-download:hover{background:#e8f8f5}.btn-delete{color:#e74c3c}.btn-delete:hover{background:#fadbd8}.empty-folder{align-items:center;color:#95a5a6;display:flex;flex-direction:column;font-size:14px;gap:8px;padding:32px;text-align:center}.empty-icon{font-size:32px}.upload-actions-area{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px dashed #dee2e6;border-radius:8px;margin-bottom:20px;padding:20px}.upload-group{display:inline-block;margin-bottom:12px;margin-right:16px}.upload-button-inline{background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:8px;box-shadow:0 2px 8px #4facfe4d;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.upload-button-inline:hover{box-shadow:0 4px 12px #4facfe66;transform:translateY(-2px)}.upload-button-inline:active{transform:translateY(0)}.upload-hint-inline{color:#7f8c8d;font-size:13px;font-style:italic;margin:8px 0 0}@media (max-width:768px){.info-grid{grid-template-columns:1fr}.upload-area{padding:20px}.file-item{align-items:flex-start;flex-direction:column}.btn-delete-file{align-self:flex-end}.folder-header{padding:12px 16px}.file-item-compact{padding:10px 16px}.upload-button-inline{display:block;margin-bottom:12px;text-align:center}.upload-group{display:block;margin-right:0}.development-detail-header{padding:16px 20px}.back-button{font-size:14px;min-height:44px;padding:10px 16px}.development-detail-content{padding:16px}.project-info-card{padding:20px 16px}.info-section{margin-bottom:16px}.section-title{font-size:15px;margin-bottom:10px}.section-value{font-size:14px}.file-folder-container{margin-bottom:16px}.file-folder-container.group-folder .folder-header{padding:14px 16px}.folder-title{font-size:15px}.file-count{font-size:12px}.nested-folders{padding:10px 10px 10px 32px}.file-item-compact{align-items:flex-start;flex-direction:column;gap:12px}.file-preview-compact{height:60px;width:60px}.file-info-compact{flex:1 1;width:100%}.file-name-compact{font-size:13px}.file-meta-compact{font-size:11px}.file-actions-compact{gap:10px;justify-content:flex-start;width:100%}.btn-action-compact{flex:1 1;font-size:12px;min-height:44px;padding:8px 14px}.upload-actions-area{padding:16px}.upload-button-inline{font-size:15px;min-height:48px;padding:14px 20px}.upload-hint-inline{font-size:12px}.footer-actions{padding:16px 20px}.back-detail-button,.push-button{font-size:15px;min-height:48px;padding:14px 20px}.completion-status{font-size:14px;padding:16px}.image-modal{padding:20px}.image-modal-content{max-height:90vh;max-width:95%;padding:16px}.close-modal{font-size:24px;height:36px;right:10px;top:10px;width:36px}.modal-image{max-height:60vh;max-width:100%}.modal-footer{flex-direction:column;gap:10px;padding:12px 0 0}.modal-footer button{font-size:14px;min-height:44px;padding:12px;width:100%}}@media (max-width:480px){.development-detail-header{padding:12px 16px}.header-title{font-size:16px}.back-button{font-size:13px;padding:8px 12px}.development-detail-content{padding:12px}.project-info-card{padding:16px 12px}.section-title{font-size:14px}.section-value{font-size:13px}.folder-title{font-size:14px}.file-count{font-size:11px}.nested-folders{padding:8px 8px 8px 24px}.file-preview-compact{height:50px;width:50px}.file-name-compact{font-size:12px}.btn-action-compact{font-size:11px;padding:8px 12px}.upload-actions-area{padding:12px}.upload-button-inline{font-size:14px;padding:12px 16px}.upload-hint-inline{font-size:11px}.footer-actions{padding:12px 16px}.back-detail-button,.push-button{font-size:14px;padding:12px 16px}.completion-status{font-size:13px;padding:12px}.image-modal-content{padding:12px}.modal-footer button{font-size:13px;padding:10px}}.team-uploads-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;border-radius:12px;margin-top:24px;padding:20px}.team-uploads-header{align-items:center;border-bottom:2px solid #0ea5e9;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.team-uploads-title{color:#0369a1;font-size:18px;font-weight:700;margin:0}.team-uploads-count{background:#0ea5e9;border-radius:20px;color:#fff;font-size:13px;font-weight:600;padding:6px 14px}.member-upload-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:16px;padding:16px;transition:transform .3s,box-shadow .3s}.member-upload-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.member-upload-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.member-info{align-items:center;display:flex;gap:10px}.member-icon{font-size:24px}.member-name{color:#1f2937;font-size:16px;font-weight:600}.upload-time{color:#6b7280;font-size:13px}.member-status{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px}.member-status.pending{background:#fef3c7;color:#92400e}.member-status.reviewed{background:#dbeafe;color:#1e40af}.member-status.integrated{background:#d1fae5;color:#065f46}.member-files-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:16px}.member-file-item{background:#f9fafb;border-radius:8px;cursor:pointer;padding:8px;transition:transform .2s}.member-file-item:hover{transform:scale(1.05)}.member-file-preview{border-radius:6px;height:120px;margin-bottom:6px;object-fit:cover;width:100%}.member-file-info{display:flex;flex-direction:column;gap:2px}.member-file-name{color:#374151;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-file-size{color:#9ca3af;font-size:11px}.file-list-simple{display:flex;flex-direction:column;gap:8px}.file-item-simple{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s}.file-item-simple:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px #0000000d;transform:translateX(2px)}.file-info-simple{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.file-name-simple{color:#374151;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta-simple{color:#9ca3af;font-size:12px}.file-actions-simple{display:flex;flex-shrink:0;gap:8px}.btn-action-simple{border:none;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s;white-space:nowrap}.btn-action-simple.btn-view{background:#3b82f6;color:#fff}.btn-action-simple.btn-view:hover{background:#2563eb;transform:scale(1.05)}.btn-action-simple.btn-download{background:#10b981;color:#fff}.btn-action-simple.btn-download:hover{background:#059669;transform:scale(1.05)}.btn-action-simple.btn-delete{background:#ef4444;color:#fff}.btn-action-simple.btn-delete:hover{background:#dc2626;transform:scale(1.05)}.member-files-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.member-file-item-compact{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;padding:10px 12px;transition:all .2s}.member-file-item-compact:hover{background:#f3f4f6;border-color:#d1d5db;transform:translateX(4px)}.member-file-item-compact .file-icon{flex-shrink:0;font-size:20px}.member-file-item-compact .file-name-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.member-file-item-compact .file-name{color:#374151;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-file-item-compact .file-size{color:#9ca3af;font-size:12px}.member-file-item-compact .btn-preview-small{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:16px;padding:6px 12px;transition:all .2s}.member-file-item-compact .btn-preview-small:hover{background:#2563eb;transform:scale(1.1)}.member-upload-actions{display:flex;gap:10px;justify-content:flex-end}.btn-integrate{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 6px #10b9814d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.btn-integrate:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 10px #10b98166;transform:translateY(-2px)}.btn-integrate:active{transform:translateY(0)}.upload-button-inline.primary-leader{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.upload-button-inline.primary-leader:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 6px 16px #f59e0b66}.upload-button-inline.team-member{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d}.upload-button-inline.team-member:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f666}.my-upload-section{margin-top:20px}.submit-to-leader-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;margin-top:20px;padding:24px;text-align:center}.btn-submit-to-leader{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 4px 12px #10b98166;color:#fff;cursor:pointer;font-size:16px;font-weight:700;max-width:500px;padding:16px 32px;transition:all .3s;width:100%}.btn-submit-to-leader:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 16px #10b98180;transform:translateY(-2px)}.btn-submit-to-leader:active:not(:disabled){transform:translateY(0)}.btn-submit-to-leader:disabled{cursor:not-allowed;opacity:.6}.submit-hint{color:#92400e;font-size:13px;font-style:italic;margin-top:12px}.schedule-container{background-color:#f5f5f5;min-height:100vh}.schedule-header{align-items:center;background:linear-gradient(135deg,#5dade2,#3498db);box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;padding:16px 32px}.header-left{gap:20px}.user-avatar{background:#fff3}.user-details{flex-direction:column;gap:4px}.user-name{color:#333;white-space:nowrap}.back-btn,.logout-btn{align-items:center;background:#fff;border:1.5px solid #ddd;border-radius:6px;box-shadow:0 2px 4px #00000014;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s}.back-btn:hover,.logout-btn:hover{background:#ffebee!important;border-color:#f44!important;box-shadow:0 4px 8px #ff44444d;color:#333!important;transform:translateY(-1px)}.schedule-content{margin:0 auto;max-width:800px;padding:32px}.schedule-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:32px}.schedule-title{color:#333;font-size:24px;font-weight:600;margin-bottom:24px;text-align:center}.project-info{background:#f8f9fa;border-radius:8px;margin-bottom:32px;padding:20px}.project-name{color:#333;font-size:18px;font-weight:600;margin-bottom:8px}.project-description{margin:0}.timeline-form{margin-bottom:32px}.form-hint{background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;color:#666;font-size:14px;margin-bottom:20px;padding:12px}.form-group{align-items:center;display:flex;gap:12px;margin-bottom:20px}.form-label{color:#333;font-size:15px;font-weight:500;min-width:120px}.form-input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;padding:10px 16px;transition:all .3s}.form-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-unit{color:#666;font-size:14px;min-width:30px}.form-actions{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.btn-cancel,.btn-submit{border:none;border-radius:6px;cursor:pointer;font-size:15px;font-weight:500;padding:12px 24px;transition:all .3s}.btn-cancel{background:#f5f5f5}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.btn-submit{background:linear-gradient(135deg,#5dade2,#3498db);color:#fff}.btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #3498db4d;transform:translateY(-2px)}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}.error-message,.loading-message{color:#666;font-size:16px;padding:40px;text-align:center}.error-message{color:#f44336}.exceed-overlay{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.exceed-modal{background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;max-width:420px;padding:24px;width:90%}.exceed-icon{font-size:28px;margin-bottom:8px}.exceed-title{color:#d32f2f;font-size:20px;margin:0 0 8px}.exceed-content p{color:#555;margin:6px 0}.exceed-actions{display:flex;justify-content:flex-end;margin-top:16px}.exceed-btn{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;padding:8px 16px}.exceed-btn:hover{background:#eee}@media (max-width:768px){.schedule-content{padding:16px}.schedule-card{padding:20px}.form-group{align-items:flex-start;flex-direction:column}.form-label{min-width:auto}.form-input{width:100%}}.toast{align-items:center;animation:toastSlideIn .3s ease-out;border-radius:12px;box-shadow:0 8px 24px #00000026;display:flex;gap:12px;left:50%;max-width:500px;min-width:300px;padding:16px 24px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:10000}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}.toast-success{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.toast-error{background:linear-gradient(135deg,#f44336,#e57373);color:#fff}.toast-info{background:linear-gradient(135deg,#2196f3,#64b5f6);color:#fff}.toast-icon{align-items:center;background:#fff3;border-radius:50%;display:flex;flex-shrink:0;font-size:24px;font-weight:700;height:32px;justify-content:center;width:32px}.toast-message{flex:1 1;font-size:16px;font-weight:500}.schedule-management-container{animation:fadeIn .3s ease-out;background-color:#f5f5f5;min-height:100vh}.schedule-management-header{align-items:center;background:linear-gradient(135deg,#ede7f6,#d1c4e9 60%,#b39ddb);box-shadow:0 8px 24px #8e44ad26;display:flex;justify-content:space-between;padding:16px 32px}.user-avatar{background:#ffffff40;box-shadow:0 2px 8px #00000026}.user-details,.user-name{color:#3b2f4a}.user-name{font-weight:700}.primary-leader-badge{color:#f57c00}.schedule-management-content{box-sizing:border-box;margin:0 auto;max-width:1240px;padding:24px 20px;width:100%}.page-title{border-bottom:3px solid #8e44ad;font-weight:800}.stats-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(2,1fr)}.stat-card{align-items:center;border-radius:14px;display:flex;gap:20px;justify-content:flex-start;padding:32px 24px;transition:all .25s ease}.stat-card.stat-pending{background:linear-gradient(135deg,#fff9c4,#ffd54f);border-color:#ffca28;color:#f57f17}.stat-card.stat-scheduled{background:linear-gradient(135deg,#e1bee7,#ba68c8);border-color:#ab47bc;color:#4a148c}.stat-card.stat-completed{background:linear-gradient(135deg,#c8e6c9,#66bb6a);border-color:#4caf50;color:#1b5e20}.stat-card.stat-total{background:linear-gradient(135deg,#b3e5fc,#4fc3f7);border-color:#29b6f6;color:#01579b}.stat-icon{flex-shrink:0;font-size:56px;line-height:1}.stat-content{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.stat-number{font-size:40px;margin:0}.stat-label{font-size:16px;line-height:1;margin:0;opacity:.85}.tabs{border:1px solid #0000000f;border-radius:10px;box-shadow:0 6px 18px #00000014}.tab{font-weight:600;transition:all .25s}.tab.active,.tab:hover{color:#8e44ad}.tab.active{background-color:#f8f5fc;border-bottom-color:#8e44ad;font-weight:700}.project-card{border:1px solid #0000000f;box-shadow:0 8px 20px #0000001a;transition:all .25s ease}.project-card:hover{border-color:#8e44ad;box-shadow:0 12px 26px #00000024}.project-type-badge{background:#8e44ad1a;color:#8e44ad}.status-scheduled{background-color:#f3e5f5;color:#8e44ad}.status-completed{background-color:#e8f5e9;color:#388e3c}.project-meta{margin-bottom:12px}.priority{font-weight:500}.priority-high{color:#d32f2f}.priority-medium{color:#f57c00}.priority-low{color:#388e3c}.timeline-summary{grid-gap:12px;border-top:1px solid #e0e0e0;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-top:16px;padding-top:16px}.timeline-item{display:flex;flex-direction:column;gap:4px}.timeline-label{color:#999;font-size:12px}.timeline-value{color:#8e44ad;font-size:14px;font-weight:600}@media (max-width:768px){.schedule-management-header{align-items:center;flex-direction:row;flex-wrap:wrap;gap:12px;padding:12px 16px}.header-left{flex:1 1;min-width:0}.user-info{gap:10px}.header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.role-badge{font-size:10px;padding:2px 8px}.btn-back,.btn-logout{font-size:13px;min-height:36px;padding:8px 14px;white-space:nowrap}.stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:20px 16px}.tabs{flex-direction:column}.tab{border-bottom:1px solid #e0e0e0;border-right:none}.tab:last-child{border-bottom:none}.timeline-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.schedule-management-content{padding:16px 12px}.page-title{font-size:24px}.stats-grid,.timeline-summary{grid-template-columns:1fr}}@media (max-width:768px){.schedule-management-header{align-items:flex-start!important;flex-direction:column!important}.schedule-management-header .header-left{width:100%}.schedule-management-header .header-right{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%}.schedule-management-header .header-right>button{font-size:13px;justify-content:center;min-width:0;padding:10px 8px;width:100%}}.archive-container{animation:fadeIn .3s ease-out;background-color:#f5f5f5;min-height:100vh}.archive-header{background:linear-gradient(135deg,#e8f5e9,#a5d6a7);box-shadow:0 4px 12px #00000014;justify-content:space-between;padding:16px 32px}.archive-header,.header-left,.user-info{align-items:center;display:flex}.user-info{flex-direction:row;gap:16px}.user-avatar{background:#ffffff4d;border-radius:50%;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.user-avatar,.user-details{align-items:center;display:flex}.user-details{color:#1b5e20;gap:12px}.user-name{color:#1b5e20;font-size:16px;font-weight:600}.primary-leader-badge{color:#388e3c;font-size:12px;font-weight:400;margin-left:4px}.header-right{gap:12px}.back-home-btn,.header-right{align-items:center;display:flex}.back-home-btn{background:#fff;border:1.5px solid #ddd;border-radius:6px;box-shadow:0 2px 4px #00000014;color:#333;cursor:pointer;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s}.back-home-btn:hover{background:#f0f0f0;border-color:#bbb;box-shadow:0 4px 8px #0000001f;transform:translateY(-1px)}.logout-btn{align-items:center;background:#fff;border:1.5px solid #ddd;border-radius:6px;box-shadow:0 2px 4px #00000014;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s}.logout-btn:hover{background:#ffebee!important;border-color:#f44!important;box-shadow:0 4px 8px #ff44444d;color:#333!important;transform:translateY(-1px)}.archive-content{box-sizing:border-box;margin:0 auto;max-width:1240px;padding:24px 20px;width:100%}.page-title{border-bottom:3px solid #4caf50;color:#2c3e50;font-size:28px;font-weight:700;margin:0 0 24px;padding-bottom:12px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.stat-card{border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:28px 20px;text-align:center;transition:all .3s ease}.stat-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-4px)}.stat-card.stat-all{background:linear-gradient(135deg,#b3e5fc,#4fc3f7);border-color:#29b6f6;color:#01579b}.stat-card.stat-unarchived{background:linear-gradient(135deg,#fff9c4,#ffd54f);border-color:#ffca28;color:#f57f17}.stat-card.stat-archived{background:linear-gradient(135deg,#c8e6c9,#66bb6a);border-color:#4caf50;color:#1b5e20}.stat-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:48px;margin-bottom:12px}.stat-number{font-size:36px;font-weight:700;line-height:1;margin-bottom:8px}.stat-label{font-size:15px;font-weight:500}.tabs{border:1px solid #0000000d;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;margin-bottom:20px;overflow:hidden}.tab,.tabs{background:#fff}.tab{border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:15px;font-weight:500;padding:14px 12px;transition:all .3s}.tab:hover{background-color:#f5f5f5;color:#4caf50}.tab.active{background-color:#f8f9fa;border-bottom-color:#4caf50;color:#4caf50;font-weight:600}.project-list{display:flex;flex-direction:column;gap:16px}.project-card{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;padding:20px;transition:all .3s ease}.project-card:hover{border-color:#4caf50;box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.project-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.project-type-badge{background:#4caf501a;color:#4caf50;font-size:14px;font-weight:600}.project-type-badge,.status-badge{border-radius:12px;padding:4px 12px}.status-badge{font-size:12px;font-weight:500}.status-pending{background-color:#fff9e6;color:#f57c00}.status-archived{background-color:#e8f5e9;color:#388e3c}.project-title{color:#333;font-size:18px;font-weight:600;margin:0 0 10px}.project-description{color:#666;font-size:14px;line-height:1.6;margin:0 0 12px}.project-meta{color:#999;margin-bottom:8px}.archive-info,.project-meta{display:flex;flex-wrap:wrap;font-size:13px;gap:16px}.archive-info{border-top:1px solid #e0e0e0;color:#4caf50;font-weight:500;margin-top:8px;padding-top:8px}.loading-message{font-size:16px}.empty-state,.loading-message{color:#999;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state p{font-size:16px;margin:0}@media (max-width:768px){.archive-header{align-items:center;flex-direction:row;flex-wrap:wrap;gap:12px;padding:12px 16px}.header-left{flex:1 1;min-width:0}.user-info{gap:10px}.header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.user-avatar{font-size:18px;height:36px;width:36px}.user-name{font-size:15px}.role-badge{font-size:10px;padding:2px 8px}.btn-back,.btn-logout{font-size:13px;min-height:36px;padding:8px 14px;white-space:nowrap}.stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:20px 16px}.tabs{flex-direction:column}.tab{border-bottom:1px solid #e0e0e0;border-right:none}.tab:last-child{border-bottom:none}}@media (max-width:480px){.archive-content{padding:16px 12px}.page-title{font-size:24px}.stats-grid{grid-template-columns:1fr}}@media (max-width:768px){.archive-header{align-items:flex-start!important;flex-direction:column!important}.archive-header .header-left{width:100%}.archive-header .header-right{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%}.archive-header .header-right>button{font-size:13px;justify-content:center;min-width:0;padding:10px 8px;width:100%}}.archive-detail-container{background-color:#f5f7fa;min-height:100vh;padding-bottom:80px}.loading-overlay{align-items:center;background:#00000080;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.spinner{animation:spin 1s linear infinite;border:5px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;height:50px;margin-bottom:16px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-overlay p{color:#fff;font-size:16px;margin:0}.success-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-modal{animation:scaleIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000004d;padding:40px 60px;text-align:center}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.success-icon{animation:bounce .6s ease-out;font-size:64px;margin-bottom:16px}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.success-message{color:#4caf50;font-size:20px;font-weight:600;margin:0}.edit-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.edit-modal-content{animation:scaleIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-height:80vh;max-width:600px;overflow:auto;width:90%}.modal-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:20px}.modal-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .3s;width:32px}.close-btn:hover{background:#f0f0f0;color:#333}.modal-body{padding:20px}.modal-footer{border-top:2px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end;padding:20px}.btn-cancel{background:#fff;border:1.5px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .3s}.btn-cancel:hover{background:#f5f5f5;border-color:#bbb}.btn-confirm{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:6px;box-shadow:0 2px 8px #4caf504d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .3s}.btn-confirm:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.detail-header{align-items:center;background:linear-gradient(135deg,#4caf50,#66bb6a);box-shadow:0 2px 8px #0000001a;display:flex;gap:16px;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.btn-back{background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:8px 16px;transition:all .3s}.btn-back:hover{background:#ffffff4d}.detail-title{color:#fff;flex:1 1;font-size:20px;font-weight:600;margin:0}.detail-content{margin:0 auto;max-width:1000px;padding:24px 20px}.detail-section{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;padding:24px}.section-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;gap:12px;margin-bottom:20px;padding-bottom:12px}.section-icon{font-size:24px}.section-title{color:#333;flex:1 1;font-size:18px;font-weight:600;margin:0}.btn-edit-summary{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:6px 16px;transition:all .3s}.btn-edit-summary:hover{box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.info-item{display:flex;flex-direction:column;gap:6px}.info-label{color:#999;font-size:13px;font-weight:500}.info-value{color:#333;font-size:15px;font-weight:500}.description-box{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#666;font-size:14px;line-height:1.6;padding:16px;white-space:pre-wrap}.completion-timeline{display:flex;flex-direction:column;gap:16px}.timeline-item{border-left:2px solid #e0e0e0;padding-bottom:16px;padding-left:32px;position:relative}.timeline-item:last-child{border-left-color:#0000}.timeline-item.completed{border-left-color:#4caf50}.timeline-item.completed .timeline-dot{background:#4caf50}.timeline-dot{background:#e0e0e0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #e0e0e0;height:12px;left:-6px;position:absolute;top:6px;width:12px}.timeline-content{display:flex;flex-direction:column;gap:8px}.timeline-title{color:#333;font-size:16px;font-weight:600}.timeline-info{color:#999;display:flex;flex-direction:column;font-size:13px;gap:4px}.file-folder{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:12px;overflow:hidden}.folder-header{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;gap:10px;justify-content:space-between;padding:14px 16px;transition:background .3s}.folder-header:hover{background:#f8f9fa}.folder-left{flex:1 1;gap:10px}.folder-left,.folder-right{align-items:center;display:flex}.folder-right{gap:12px}.btn-download-all{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;box-shadow:0 2px 4px #10b98133;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 14px;transition:all .2s ease}.btn-download-all:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.btn-download-all:active{box-shadow:0 1px 2px #10b98133;transform:translateY(0)}.folder-icon{font-size:20px}.folder-name{color:#333;flex:1 1;font-size:15px;font-weight:600}.file-count{color:#999;font-size:13px}.expand-icon{color:#999;font-size:12px}.folder-content{padding:12px}.no-files{color:#999;font-size:14px;padding:20px;text-align:center}.file-list{display:flex;flex-direction:column;gap:8px}.file-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.file-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.file-name{color:#333;font-size:14px;font-weight:500}.file-size,.file-time,.file-uploader{color:#999;font-size:12px}.file-actions{display:flex;gap:8px}.btn-download,.btn-view{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .3s}.btn-view{background:linear-gradient(135deg,#64b5f6,#42a5f5);color:#fff}.btn-view:hover{box-shadow:0 4px 8px #42a5f54d;transform:translateY(-2px)}.btn-download{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.btn-download:hover{box-shadow:0 4px 8px #4caf504d;transform:translateY(-2px)}.summary-display{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#666;font-size:14px;line-height:1.8;min-height:120px;padding:16px;white-space:pre-wrap}.summary-input-section{margin-top:0}.summary-textarea{border:1.5px solid #ddd;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;line-height:1.6;min-height:120px;padding:14px;resize:vertical;transition:border-color .3s;width:100%}.summary-textarea:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.archive-status-box{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:16px}.archive-status-item{display:flex;font-size:14px;gap:8px}.status-label{color:#388e3c;font-weight:600}.status-value{color:#2e7d32;font-weight:500}.archive-section{display:flex;justify-content:center;margin-top:20px;padding:24px}.btn-archive{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:8px;box-shadow:0 4px 12px #4caf504d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 48px;transition:all .3s}.btn-archive:hover{box-shadow:0 6px 16px #4caf5066;transform:translateY(-2px)}.image-preview-modal{align-items:center;animation:fadeIn .3s ease-out;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.preview-modal-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000080;max-height:90%;max-width:90%;overflow:auto}.preview-header{align-items:center;background:#fff;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.preview-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.close-preview-btn{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .3s;width:32px}.close-preview-btn:hover{background:#f0f0f0;color:#333}.preview-body{align-items:center;background:#f5f5f5;display:flex;justify-content:center;padding:20px}.preview-image{border-radius:8px;max-height:70vh;max-width:100%;object-fit:contain}.preview-footer{align-items:center;background:#fff;border-top:2px solid #f0f0f0;display:flex;gap:20px;justify-content:space-between;padding:20px}.preview-info{display:flex;flex:1 1;flex-direction:column;gap:6px}.preview-info p{color:#666;font-size:13px;margin:0}.preview-info strong{color:#333;font-weight:600}.btn-download-preview{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s;white-space:nowrap}.btn-download-preview:hover{box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}@media (max-width:768px){.info-grid{grid-template-columns:1fr}.detail-content{padding:16px 12px}.detail-section{padding:16px}.preview-footer{align-items:flex-start;flex-direction:column}.btn-download-preview{width:100%}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.35f25edb.css.map*/