*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Segoe UI',-apple-system,BlinkMacSystemFont,sans-serif;background-color:#f5f5f5;padding:20px}.container{max-width:1400px;margin:0 auto;background:white;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.1);padding:20px}h1{color:#333;margin-bottom:20px;border-bottom:3px solid #4CAF50;padding-bottom:10px;font-size:16px}.page-header-schedule{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}.page-header-schedule h1{margin-bottom:0;border-bottom:none;padding-bottom:0}.page-header-schedule .btn-home{flex-shrink:0}.controls-row{display:flex;gap:10px}@media (min-width:601px){.controls-row.month-nav{flex:0 0 auto;align-items:center}}.controls{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.controls button,.controls select{padding:8px 16px;border:2px solid #e0e0e0;border-radius:6px;background:white;color:#333;cursor:pointer;font-size:14px;font-weight:500;transition:all 0.3s ease}.controls button:hover{background:#f5f5f5;border-color:#667eea;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.1)}.controls .btn-home{color:#333}.controls button.btn-import{background:white!important;color:#333!important;border-color:#e0e0e0!important;font-weight:500}.controls button.btn-import:hover{background:#f5f5f5!important;border-color:#667eea!important}.controls button.primary{background:#4CAF50;color:white;border-color:#4CAF50}.controls button.primary:hover{background:#45a049;border-color:#45a049;transform:translateY(-1px);box-shadow:0 2px 8px rgba(76,175,80,0.3)}.controls select{border:2px solid #e0e0e0}.controls select:focus{outline:none;border-color:#667eea}#calendar-container{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:1200px}th,td{border:1px solid #ddd;padding:8px;text-align:center;font-size:13px}th{background-color:#4CAF50;color:white;position:sticky;top:0;z-index:10}tbody tr:nth-child(even){background-color:#f2f7f2}tbody tr:nth-child(odd){background-color:#ffffff}.employee-name{background-color:#f9f9f9;font-weight:bold;position:sticky;left:0;z-index:5}.schedule-cell{cursor:pointer;transition:background-color 0.2s;min-height:40px;vertical-align:middle;padding:4px;font-size:11px;line-height:1.3;word-break:break-all;max-width:60px}.schedule-cell:hover{background-color:#f0f0f0}.schedule-cell.has-schedule{font-weight:600}.color-green{background-color:#a5d6a7;color:#1b5e20;font-weight:600}.color-blue{background-color:#90caf9;color:#0d47a1;font-weight:600}.color-red{background-color:#ef9a9a;color:#b71c1c;font-weight:600}.color-yellow{background-color:#fff59d;color:#f57f17;font-weight:600}.color-purple{background-color:#ce93d8;color:#4a148c;font-weight:600}.color-orange{background-color:#ffcc80;color:#e65100;font-weight:600}.color-gray{background-color:#bdbdbd;color:#212121;font-weight:600}.multiple-schedules{background:linear-gradient(135deg,#90caf9 0%,#a5d6a7 50%,#ffcc80 100%);color:#1b5e20;font-weight:700;border:2px solid #4CAF50}.weekend{background-color:#ffebee}th.weekend{background-color:#ef5350;color:white}th.date-header:hover{background-color:#66BB6A!important;transform:scale(1.05);transition:all 0.2s}th.date-header.weekend:hover{background-color:#e53935!important}.schedule-cell.selected{outline:3px solid #2196F3;outline-offset:-3px;background-color:#e3f2fd!important}.schedule-cell.tentative-marker{position:relative}.schedule-cell.tentative-marker::before{content:"🔵";position:absolute;top:2px;right:2px;font-size:10px;z-index:1}.schedule-cell.tentative{background-color:#BBDEFB!important;border:2px dashed #2196F3;color:#1976D2;font-style:italic}.schedule-cell.tentative.has-schedule{opacity:0.85}.selection-mode-active{user-select:none}#bulk-tentative-btn{display:none;background:#64B5F6;color:white;border-color:#64B5F6}#bulk-confirmed-btn{display:none;background:#43A047;color:white;border-color:#43A047}#bulk-add-btn{display:none;background:#2196F3;color:white;border-color:#2196F3}#bulk-send-calendar-btn{display:none;background:#4285F4;color:white;border-color:#4285F4}#spreadsheet-url,#sheet-range{width:100%;padding:8px;font-size:14px}.form-group p{margin-top:5px;font-size:12px;color:#666}#import-form>div:last-of-type{display:flex;gap:10px;margin-top:20px}#import-form>div:last-of-type button{flex:1}#import-result{margin-top:20px;display:none}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5)}.modal-content{background-color:white;margin:5% auto;padding:30px;border-radius:8px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:2px solid #4CAF50;padding-bottom:10px}.close{font-size:28px;font-weight:bold;cursor:pointer;color:#999}.close:hover{color:#333}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:bold;color:#555}.form-group label.radio-inline{display:inline-flex!important;align-items:center;margin-bottom:0;margin-right:15px;font-weight:normal}.form-group label.radio-inline:first-child{margin-left:10px}.form-group input[type="radio"]{width:auto;margin-right:5px;margin-top:0;flex-shrink:0}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group textarea{resize:vertical;min-height:80px}.schedule-type-container{position:relative}.schedule-type-dropdown{position:absolute;background:white;border:1px solid #ddd;border-radius:4px;max-height:200px;overflow-y:auto;width:100%;box-shadow:0 2px 8px rgba(0,0,0,0.15);z-index:1000;display:none}.schedule-type-option{padding:10px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0}.schedule-type-option:hover{background-color:#f5f5f5}.schedule-type-option:last-child{border-bottom:none}.schedule-type-option.new-type{background-color:#e3f2fd;color:#1976d2;font-weight:bold}.schedule-info{background:#f9f9f9;padding:15px;border-radius:4px;margin-bottom:15px}.schedule-info p{margin:8px 0;line-height:1.6}.schedule-info strong{color:#333;min-width:100px;display:inline-block}.loading{text-align:center;padding:40px;color:#666}.error{background:#ffebee;color:#c62828;padding:15px;border-radius:4px;margin:20px 0}.filters{background:#f9f9f9;padding:12px;border-radius:4px;margin-bottom:15px}.filter-row{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.filter-group{flex:1;min-width:180px}.filter-group.filter-date{flex:1.5}.filter-group.filter-search{flex:1.2}.filter-group label{display:none}.filter-group input,.filter-group select{width:100%;padding:4px 6px;border:1px solid #ddd;border-radius:4px;font-size:12px}.filter-group select option:first-child{color:#999}.ticket-list{background:white}.ticket-table{width:100%;border-collapse:collapse;background:white;box-shadow:0 1px 3px rgba(0,0,0,0.1)}.ticket-table th{background:#f5f5f5;padding:12px;text-align:left;font-weight:bold;border-bottom:2px solid #ddd;color:#555}.ticket-table td{padding:12px;border-bottom:1px solid #eee}.ticket-table tr:hover{background:#f9f9f9}.ticket-link{color:#2196F3;text-decoration:none;font-weight:500;cursor:pointer}.ticket-link:hover{text-decoration:underline}.ticket-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:bold;display:inline-block}.status-open{background:#e3f2fd;color:#1976d2}.status-in_progress{background:#fff3e0;color:#f57c00}.status-completed{background:#e8f5e9;color:#388e3c}.status-cancelled{background:#fce4ec;color:#c2185b}.ticket-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #eee}.ticket-meta-item{font-size:13px}.ticket-meta-label{font-weight:bold;color:#666}.ticket-employees{margin-top:10px;padding:10px;background:#f5f5f5;border-radius:4px}.employee-badge{display:inline-block;background:#2196F3;color:white;padding:4px 10px;border-radius:12px;font-size:12px;margin-right:5px;margin-bottom:5px}.form-container{max-width:800px;margin:0 auto;background:white;padding:30px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.1)}.form-group label .required{color:#f44336;margin-left:4px}.form-group input[type="text"],.form-group input[type="number"],.form-group input[type="date"],.form-group input[type="time"],.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;gap:15px;margin-top:30px;padding-top:20px;border-top:2px solid #f0f0f0}.btn{padding:10px 20px;background:white;color:#333;border:2px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;font-weight:normal;transition:all 0.3s;display:inline-block;text-decoration:none;text-align:center;white-space:nowrap}.btn:hover{background:#f5f5f5;border-color:#999}.btn-primary{padding:10px 20px;background:white;color:#333;border:2px solid #ddd;border-radius:4px;font-size:14px;font-weight:normal;cursor:pointer;transition:all 0.3s}.btn-primary:hover{background:#f5f5f5;border-color:#999}.btn-secondary{padding:10px 20px;background:white;color:#333;border:2px solid #ddd;border-radius:4px;font-size:14px;font-weight:normal;cursor:pointer;transition:all 0.3s}.btn-secondary:hover{background:#f5f5f5;border-color:#999}.btn-danger{padding:10px 20px;background:#f44336;color:white;border:2px solid #f44336;border-radius:4px;font-size:14px;font-weight:bold;cursor:pointer;transition:all 0.3s}.btn-danger:hover{background:#d32f2f;border-color:#d32f2f;transform:translateY(-1px);box-shadow:0 2px 8px rgba(244,67,54,0.3)}.error-message{background:#ffebee;color:#c62828;padding:12px;border-radius:4px;margin-bottom:20px;display:none}.success-message{background:#e8f5e9;color:#2e7d32;padding:12px;border-radius:4px;margin-bottom:20px;display:none}.modal.active{display:flex}.modal-body{padding:20px}.modal-footer{padding:15px 20px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:10px}.section-title{font-size:18px;font-weight:bold;color:#333;margin:20px 0 10px 0;padding-bottom:8px;border-bottom:2px solid #4CAF50}.section-title:first-child{margin-top:0}.upload-container{max-width:1400px;margin:0 auto;background:white;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.1);padding:20px}.drop-zone{border:3px dashed #ccc;border-radius:10px;padding:60px 40px;text-align:center;cursor:pointer;transition:all 0.3s;background:#fafafa;position:relative;margin:20px 0}.drop-zone h2{color:#333;margin-bottom:20px;font-size:24px}.drop-zone p{color:#666;margin:15px 0;font-size:16px}.drop-zone .btn{margin:10px 8px;padding:10px 24px;font-size:14px;font-weight:600;position:relative;z-index:10;pointer-events:auto;min-width:150px;white-space:nowrap;display:inline-block}.drop-zone .btn-primary{background:#4CAF50;color:white;border:2px solid #4CAF50;border-radius:6px;box-shadow:0 2px 5px rgba(76,175,80,0.3)}.drop-zone .btn-primary:hover{background:#45a049;border-color:#45a049;transform:translateY(-2px);box-shadow:0 4px 8px rgba(76,175,80,0.4)}.drop-zone .btn-secondary{background:white;color:#2196F3;border:2px solid #2196F3;border-radius:6px;box-shadow:0 2px 5px rgba(33,150,243,0.3)}.drop-zone .btn-secondary:hover{background:#2196F3;color:white;transform:translateY(-2px);box-shadow:0 4px 8px rgba(33,150,243,0.4)}.drop-zone.dragover{border-color:#4CAF50;background:#e8f5e9}.drop-zone:hover{border-color:#999}.preview-container{margin:20px 0;text-align:center;display:flex;flex-direction:column;align-items:center}.preview-image{max-width:100%;max-height:400px;border:1px solid #ddd;border-radius:5px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:bold}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.form-group textarea{resize:vertical;min-height:80px}.ocr-result{background:#e3f2fd;padding:15px;border-radius:5px;margin:20px 0}.ocr-result h3{margin-top:0}.button-group{display:flex;gap:10px;justify-content:center;margin-top:20px}.btn-danger{background:#f44336;color:white}.btn-danger:hover{background:#da190b}.loading{display:none;text-align:center;padding:20px}.loading.active{display:block}.camera-input{display:none}.success-message{display:none;background:#4CAF50;color:white;padding:20px;border-radius:5px;text-align:center;margin:20px 0}.success-message.active{display:block}.radio-group{display:flex;gap:20px;margin-top:5px}.radio-group label{display:flex;align-items:center;font-weight:normal;cursor:pointer}.radio-group input[type="radio"]{width:auto;margin-right:5px}.receipts-container{max-width:1600px;margin:20px auto;padding:20px;background:white;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.1)}#receiptsTableContainer{margin-top:20px}#drivelogTableContainer{margin-top:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.header-buttons{display:flex;gap:10px;flex-wrap:wrap}.filters{background:#f9f9f9;padding:12px;border-radius:4px;margin-bottom:20px}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.filter-row:last-child{margin-bottom:0}.filter-group{flex:1;min-width:200px}.filter-group.filter-half{flex:0 0 calc(50% - 5px);min-width:calc(50% - 5px)}.filter-group label{display:block;margin-bottom:5px;font-weight:bold;font-size:14px}.filter-group input,.filter-group select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.filter-group button.full-width{width:100%}.filter-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.btn-import{padding:10px 20px;background:#34A853;color:white;border:2px solid #34A853;border-radius:4px;font-size:14px;font-weight:bold;cursor:pointer;transition:all 0.3s}.btn-import:hover{background:#2d8f46;border-color:#2d8f46;transform:translateY(-1px);box-shadow:0 2px 8px rgba(52,168,83,0.3)}.receipts-table{width:100%;border-collapse:collapse;background:white;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.receipts-table th,.receipts-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.receipts-table th{background:#4CAF50;color:white;font-weight:bold}.receipts-table th.sortable{cursor:pointer;user-select:none;white-space:nowrap}.receipts-table th.sortable:hover{background:#45a049}.sort-icon{display:inline-block;margin-left:4px;font-size:12px;opacity:0.6}.sort-icon.active{opacity:1;font-weight:bold}.receipts-table tr:hover{background:#f5f5f5}.payment-badge{display:inline-block;padding:4px 8px;border-radius:3px;font-size:12px;font-weight:bold}.payment-company_card{background:#2196F3;color:white}.payment-personal_card{background:#FF9800;color:white}.payment-company_cash{background:#4CAF50;color:white}.payment-personal_cash{background:#9C27B0;color:white}.sync-status{display:inline-block;padding:4px 8px;border-radius:3px;font-size:12px}.sync-completed{background:#4CAF50;color:white}.sync-pending{background:#FF9800;color:white}.sync-failed{background:#f44336;color:white}.action-buttons{display:flex;gap:5px}.btn-small{padding:5px 10px;font-size:12px;border:2px solid transparent;border-radius:4px;cursor:pointer;font-weight:500;transition:all 0.3s ease}.btn-small:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,0.15)}.btn-view{background:#2196F3;color:white;border-color:#2196F3}.btn-view:hover{background:#0b7dda;border-color:#0b7dda}.btn-edit{background:#FF9800;color:white;border-color:#FF9800}.btn-edit:hover{background:#e68900;border-color:#e68900}.btn-drive{background:#4CAF50;color:white;border-color:#4CAF50;text-decoration:none;display:inline-block}.btn-drive:hover{background:#45a049;border-color:#45a049}.btn-delete{background:#f44336;color:white;border-color:#f44336}.btn-delete:hover{background:#da190b;border-color:#da190b}.clickable-copy{cursor:pointer;padding:2px 6px;border-radius:3px;transition:all 0.2s ease;display:inline-block;position:relative}.clickable-copy:hover{background:#e3f2fd;color:#1976d2;transform:scale(1.05)}.clickable-copy:active{transform:scale(0.95);background:#bbdefb}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutRight{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}.no-data{text-align:center;padding:40px;color:#999}.pagination{display:flex;justify-content:center;gap:10px;margin-top:20px}.pagination button{padding:8px 16px;border:1px solid #ddd;background:white;border-radius:4px;cursor:pointer}.pagination button:hover{background:#f5f5f5}.pagination button.active{background:#4CAF50;color:white;border-color:#4CAF50}.upload-step,.form-step{margin:20px 0;padding:20px;background:#f9f9f9;border-radius:8px}.upload-step h2,.form-step h2{color:#333;margin-bottom:15px;font-size:18px;border-bottom:2px solid #4CAF50;padding-bottom:8px}.drop-zone.drag-over{border-color:#4CAF50;background:#e8f5e9;transform:scale(1.02)}.upload-icon{font-size:48px;display:block;margin-bottom:10px}input[type="file"]{display:none}.image-preview{margin-top:15px;text-align:center;display:flex;justify-content:center;align-items:center;width:100%}.image-preview img{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.1);display:block;margin:0 auto}.upload-step .btn,.upload-step .btn-primary,.upload-step .btn-secondary{flex:none!important;min-width:150px;max-width:200px}.info-section{background:#e3f2fd;padding:20px;border-radius:8px;margin-bottom:20px}.info-section h2{color:#1976d2;margin-bottom:15px;font-size:18px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.info-item{background:white;padding:12px;border-radius:4px;border-left:4px solid #1976d2}.info-item label{display:block;font-weight:bold;color:#555;margin-bottom:5px;font-size:14px}.info-item span{color:#333;font-size:16px}.photo-preview-section{background:#f5f5f5;padding:15px;border-radius:8px;margin-bottom:20px}.photo-preview-section h3{color:#333;margin-bottom:10px;font-size:16px}.preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.preview-item{background:white;padding:10px;border-radius:4px;text-align:center}.preview-item img{max-width:100%;max-height:200px;border-radius:4px}.preview-item p{margin:5px 0;font-size:14px}.radio-group{display:flex;gap:20px;margin-top:8px}.radio-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-group input[type="radio"]{width:18px;height:18px;cursor:pointer}.alert{padding:20px;border-radius:8px;margin:20px 0}.alert-info{background:#e3f2fd;border-left:4px solid #1976d2;color:#1565c0}.back-btn{margin-bottom:20px;padding:10px 20px;background:#757575;color:white;border:none;border-radius:4px;cursor:pointer;font-size:14px}.back-btn:hover{background:#616161}.btn-home{padding:10px 20px;background:white;color:#333;border:2px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;font-weight:normal;transition:all 0.3s;display:inline-block;text-decoration:none;text-align:center}.btn-home:hover{background:#f5f5f5;border-color:#999}@media (max-width:900px){.container,.upload-container{max-width:100%;padding:15px}.drop-zone{padding:40px 30px}.drop-zone .btn{min-width:160px;padding:14px 30px}.menu-grid{grid-template-columns:repeat(2,1fr)}.page-header{flex-wrap:wrap}.header-buttons{gap:8px}.filter-row{flex-wrap:wrap}.filter-group{min-width:180px}}@media (max-width:600px){body{padding:10px;overflow-x:hidden}.container{padding:15px;margin:0;max-width:100%;overflow-x:hidden}.page-header-schedule{margin-bottom:15px}.page-header-schedule h1{font-size:18px}.page-header-schedule .btn-home{padding:8px 12px;font-size:13px}.controls{gap:8px}.controls-row.month-nav{width:100%!important;flex-wrap:wrap!important;display:flex!important;gap:8px!important}.controls-row.month-nav button,.controls-row.month-nav select{flex:1 1 calc(50% - 4px)!important;padding:10px!important;font-size:14px!important;min-width:0!important;box-sizing:border-box!important}.controls-row.month-nav button:nth-child(1){order:1!important}.controls-row.month-nav select:nth-child(2){order:3!important}.controls-row.month-nav select:nth-child(3){order:4!important}.controls-row.month-nav button:nth-child(4){order:2!important}.controls>button{width:100%}.ticket-list{width:100%;max-width:100%;overflow-x:hidden}.upload-container{padding:10px;margin:0}.drop-zone{padding:30px 15px;border-width:2px}.drop-zone h2{font-size:20px;margin-bottom:15px}.drop-zone p{font-size:14px;margin:10px 0}.drop-zone .btn{width:100%;max-width:100%;min-width:100%;margin:8px 0;padding:16px 20px;font-size:16px;display:block}.page-header{flex-direction:column;align-items:flex-start}.header-buttons{width:100%;flex-direction:column;gap:8px}.header-buttons button{width:100%}.filters{padding:10px}.filter-row{flex-direction:row;gap:10px;margin-bottom:10px;flex-wrap:wrap}.filter-group label{font-size:14px;margin-bottom:5px}.filter-group input,.filter-group select{font-size:16px;padding:12px}.upload-step{padding:15px;margin:15px 0}.upload-step h2{font-size:18px}.upload-step .btn{width:100%;max-width:100%;margin:8px 0;padding:16px 20px;font-size:16px}.upload-step>div[style*="display: flex"]{flex-direction:column!important;gap:10px!important}.upload-step>div[style*="display: flex"] button{width:100%!important;max-width:100%!important;min-width:100%!important}.button-group{flex-direction:column;gap:12px}.button-group .btn{width:100%;margin:0}.receipts-table{font-size:11px}.receipts-table th,.receipts-table td{padding:6px 4px;font-size:11px}.receipts-table thead{display:none}.receipts-table tbody tr{display:block;margin-bottom:15px;border:1px solid #ddd;border-radius:8px;padding:10px;background:white;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.receipts-table tbody td{display:flex;justify-content:space-between;padding:8px 0;border:none;text-align:right}.receipts-table tbody td::before{content:attr(data-label);font-weight:bold;text-align:left;flex-shrink:0;margin-right:10px;color:#555}.action-buttons{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:5px}.action-buttons button{flex:0 0 auto}.info-grid{grid-template-columns:1fr}.preview-grid{grid-template-columns:1fr}.preview-container{padding:10px;margin:15px 0}.preview-image,.image-preview img{max-width:100%;max-height:300px;width:auto;height:auto}.image-preview{padding:10px;margin:15px 0}.form-group{margin-bottom:15px}.form-group label{font-size:15px;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:12px;min-height:48px}.form-group textarea{min-height:100px}.info-section{padding:15px;margin-bottom:15px}.info-section h2{font-size:16px}.info-item label{font-size:13px}.back-btn{width:100%;margin-bottom:15px;padding:12px 20px;font-size:15px}.filters{padding:10px}.controls{flex-direction:column}.controls button{width:100%;margin-bottom:5px}.ticket-list{display:block}.ticket-item{display:block;border:1px solid #ddd;border-radius:8px;padding:15px;margin-bottom:15px;background:white}.ticket-item>*{display:block;margin-bottom:10px}.menu-grid{grid-template-columns:1fr;gap:15px}.menu-card{padding:20px}.menu-icon{font-size:36px}.header-content{flex-direction:column;gap:10px;text-align:center}.header h1{font-size:15px;line-height:1.3;word-break:keep-all}.user-info{flex-direction:column;gap:10px}.login-box{padding:20px;margin:20px}.login-box h1{font-size:20px}table{min-width:0!important}.ticket-table{display:block;overflow-x:visible;width:100%;min-width:0!important;box-sizing:border-box}.ticket-table thead{display:none}.ticket-table tbody{display:block;width:100%}.ticket-table tr{display:block;margin-bottom:15px;border:1px solid #ddd;border-radius:8px;background:white;padding:12px;width:100%;box-sizing:border-box;overflow:hidden;text-align:left}.ticket-table td{display:block;text-align:left;padding:8px 0;border:none;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;overflow:hidden}.ticket-table td::before{content:attr(data-label);font-weight:bold;display:block;margin-bottom:5px;color:#666;font-size:12px}.ticket-table td:first-child{display:none}.ticket-table td[data-label="資材"],.ticket-table td[data-label="見積"],.ticket-table td[data-label="請求"]{display:inline-block!important;margin-right:15px;vertical-align:top;padding:8px 0;text-align:center;box-sizing:border-box}.ticket-table td[data-label="資材"]::before,.ticket-table td[data-label="見積"]::before,.ticket-table td[data-label="請求"]::before{display:block;margin-bottom:5px;text-align:center}.ticket-table td[data-label="請求"]{margin-right:0}.ticket-table td[data-label="期間"]{clear:both;display:block;width:100%}.ticket-table td button{display:block;width:calc(100% - 10px)!important;max-width:100%!important;margin:0 0 8px 0!important;padding:10px 12px!important;box-sizing:border-box!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-table td button:last-child{margin-bottom:0!important}.status-badge{display:inline-block;margin-top:5px}.calendar-table{font-size:11px}.calendar-table th,.calendar-table td{padding:5px 2px}.day-number{font-size:12px}.schedule-item{font-size:10px;padding:2px 4px;margin:2px 0}.upload-label{padding:20px}.upload-icon{font-size:36px}.detail-grid{grid-template-columns:1fr}.modal-content{width:95%;max-height:95vh}.mobile-schedule-header{display:flex;align-items:center;gap:10px;padding:10px 0 12px;border-bottom:2px solid #4CAF50;margin-bottom:8px}.mobile-employee-select{flex:1;padding:10px 12px;font-size:16px;border:2px solid #4CAF50;border-radius:8px;background:white;color:#333;font-weight:600;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M0 0l6 8 6-8z' fill='%234CAF50'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.mobile-schedule-list{display:flex;flex-direction:column;gap:0}.mobile-schedule-row{display:flex;align-items:center;min-height:46px;padding:8px 10px;border-bottom:1px solid #e0e0e0;cursor:pointer;transition:background-color 0.15s;gap:10px}.mobile-schedule-row:hover,.mobile-schedule-row:active{background-color:#f0f4f8}.mobile-schedule-row.weekend{background-color:#fff3f3}.mobile-schedule-row.weekend:hover{background-color:#ffe0e0}.mobile-date{flex-shrink:0;width:72px;font-size:14px;font-weight:500;color:#555;cursor:pointer;padding:4px 6px;border-radius:6px;transition:background-color 0.15s}.mobile-date:hover,.mobile-date:active{background-color:#c8e6c9;color:#2e7d32}.mobile-date.weekend-text{color:#c62828;font-weight:700}.mobile-date.weekend-text:hover,.mobile-date.weekend-text:active{background-color:#ffcdd2;color:#b71c1c}.mobile-schedule-content{flex:1;display:flex;flex-wrap:wrap;gap:4px;cursor:pointer;min-height:30px;align-items:center;padding:2px 4px;border-radius:6px;transition:background-color 0.15s}.mobile-schedule-content:hover,.mobile-schedule-content:active{background-color:#f0f0f0}.mobile-empty-cell{display:block;width:100%;min-height:22px}.mobile-schedule-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:600;white-space:nowrap}.mobile-schedule-badge.tentative{background-color:#BBDEFB!important;color:#1976D2!important;border:2px dashed #2196F3;opacity:0.9;font-style:italic}.mobile-schedule-row.selected{outline:3px solid #2196F3;outline-offset:-3px;background-color:#e3f2fd!important}}.status-badge{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:bold}.status-complete{background:#4CAF50;color:white}.status-incomplete{background:#FF9800;color:white}.btn-sm{padding:6px 12px;font-size:12px}.table-container{overflow-x:auto;margin:20px 0}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);justify-content:center;align-items:center;z-index:9999}.modal-content{background:white;border-radius:8px;padding:0;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 16px rgba(0,0,0,0.3)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #ddd}.modal-header h2{margin:0;color:#333;font-size:20px}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#333}.modal-body{padding:20px}.detail-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee}.detail-section:last-child{border-bottom:none}.detail-section h3{color:#4CAF50;margin-bottom:12px;font-size:16px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.detail-item{padding:8px 0}.detail-item label{display:block;font-weight:bold;color:#666;font-size:13px;margin-bottom:4px}.detail-item span{color:#333;font-size:14px}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.login-box{background:white;padding:40px;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.2);width:100%;max-width:400px}.login-box h1{text-align:center;color:#667eea;margin-bottom:10px;border:none;font-size:24px}.login-box h2{text-align:center;color:#666;margin-bottom:30px;font-size:18px;font-weight:normal}.error-message{background:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;text-align:center;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color 0.3s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,0.1)}.btn-block{width:100%}.social-login-separator{margin:25px 0;text-align:center;position:relative}.social-login-separator:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#ddd}.social-login-separator span{background:white;padding:0 15px;color:#999;font-size:14px;position:relative;z-index:1}.btn-google{background:#4285f4;color:white;border:1px solid #4285f4;padding:12px 20px;border-radius:6px;font-size:16px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;transition:all 0.3s}.btn-google:hover{background:#357ae8;border-color:#357ae8;box-shadow:0 2px 8px rgba(0,0,0,0.2)}.btn-google svg{flex-shrink:0}.header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;padding:20px 0;margin:-20px -20px 20px -20px;border-radius:8px 8px 0 0}.header-content{max-width:1400px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.header h1{color:white;margin:0;border:none;padding:0;font-size:24px}.user-info{display:flex;align-items:center;gap:15px}.user-info span{font-size:14px}.logout-button-pc{padding:8px 20px;background:white;color:#667eea;border:2px solid white;border-radius:6px;text-decoration:none;font-size:14px;font-weight:600;transition:all 0.3s ease;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.logout-button-pc:hover{background:#f8f9ff;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,0.15)}@media screen and (max-width:768px){.logout-button-pc{display:none}}.header .btn-secondary{background:rgba(255,255,255,0.2);color:white;border:1px solid rgba(255,255,255,0.3)}.header .btn-secondary:hover{background:rgba(255,255,255,0.3)}.home-menu h2{color:#333;margin-bottom:30px;font-size:24px}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:20px}.menu-card{background:white;border:2px solid #e0e0e0;border-radius:12px;padding:12px 20px;text-align:center;text-decoration:none;transition:all 0.3s ease;cursor:pointer}.menu-card:hover{border-color:#667eea;box-shadow:0 8px 20px rgba(102,126,234,0.15);transform:translateY(-4px)}.menu-icon{font-size:32px;margin-bottom:4px}.menu-card h3{color:#333;margin-bottom:0;font-size:18px}.menu-card p{color:#666;font-size:14px;line-height:1.5}.logout-card{border-color:#ff6b6b}.logout-card:hover{border-color:#ff5252;box-shadow:0 8px 20px rgba(255,107,107,0.15)}@media screen and (min-width:769px){.logout-card{display:none}}@media screen and (min-width:769px){.timeline-mobile{display:none!important}.timeline-desktop{display:block!important}}@media screen and (max-width:768px){.timeline-desktop{display:none!important}.timeline-mobile{display:block!important}#schedule-modal .modal-content{max-width:95vw!important;width:95vw!important;margin:5% auto!important}.filters .filter-row{flex-wrap:wrap}.filters .filter-group.filter-date{flex:1 1 100%!important;min-width:100%!important;max-width:100%!important;order:1}.filters .filter-group.filter-project{flex:1 1 calc(50% - 5px)!important;min-width:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important;order:2}.filters .filter-group.filter-status{flex:1 1 calc(50% - 5px)!important;min-width:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important;order:3}.filters .filter-group.filter-employee{flex:1 1 calc(50% - 5px)!important;min-width:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important;order:4}.filters .filter-group.filter-search{flex:1 1 calc(50% - 5px)!important;min-width:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important;order:5}.receipts-container .filter-group.filter-date-receipt{flex:1 1 100%!important;min-width:100%!important;max-width:100%!important;order:1}.receipts-container .filter-group.filter-user-receipt{flex:1 1 calc(50% - 5px)!important;min-width:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important;order:2}.receipts-container .filter-group.filter-payment-receipt{flex:1 1 calc(50% - 5px)!important;min-width:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important;order:3}.receipts-container .filter-group.filter-date-drivelog{flex:1 1 100%!important;min-width:100%!important;max-width:100%!important;order:1}.receipts-container .filter-group.filter-vehicle-drivelog{flex:1 1 100%!important;min-width:100%!important;max-width:100%!important;order:2}.receipts-container .filter-group.filter-user-drivelog{flex:1 1 calc(50% - 5px)!important;min-width:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important;order:3}.receipts-container .filter-group.filter-status-drivelog{flex:1 1 calc(50% - 5px)!important;min-width:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important;order:4}}.checkbox-box{background:#f8f9fa;padding:16px;border-radius:6px;border:1px solid #e0e0e0}.checkbox-box label{display:flex;align-items:flex-start;cursor:pointer;user-select:none;margin-bottom:0}.checkbox-box input[type="checkbox"]{margin-right:10px;margin-top:3px;width:18px;height:18px;cursor:pointer}.checkbox-box-content{flex:1}.checkbox-box-title{font-weight:500;color:#333;display:block;margin-bottom:4px;font-size:14px}.checkbox-box-description{color:#666;display:block;line-height:1.4;font-size:12px}#date-range-filter{cursor:text}#ticket-count{margin-bottom:15px;color:#666}#bulk-actions{display:none;position:sticky;top:10px;z-index:100;background:#e3f2fd;padding:16px;border-radius:6px;margin-bottom:15px;border-left:4px solid #2196F3;box-shadow:0 2px 8px rgba(33,150,243,0.2)}.bulk-actions-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.bulk-actions-left{display:flex;align-items:center;gap:15px}.bulk-actions-count{font-weight:600;color:#1976D2}.btn-clear-selection{padding:6px 12px;background:white;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:13px;transition:all 0.2s ease}.btn-clear-selection:hover{background:#f5f5f5;border-color:#999}.btn-bulk-update{padding:8px 20px;background:#2196F3;color:white;border:none;border-radius:4px;cursor:pointer;font-weight:500;font-size:14px;transition:all 0.2s ease}.btn-bulk-update:hover{background:#1976D2;transform:translateY(-1px);box-shadow:0 2px 8px rgba(33,150,243,0.3)}.filter-clear-button{width:100%;padding:8px 16px;border:2px solid #e0e0e0;border-radius:6px;background:white;color:#333;cursor:pointer;font-size:14px;font-weight:500;transition:all 0.3s ease}.filter-clear-button:hover{background:#f5f5f5;border-color:#667eea;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.1)}.bulk-update-modal-content{max-width:500px}.bulk-update-description{margin-bottom:20px;color:#666}.modal-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px}.btn-modal-cancel{padding:8px 20px;background:#999;color:white;border:none;border-radius:4px;cursor:pointer;transition:all 0.2s ease}.btn-modal-cancel:hover{background:#777}.btn-modal-execute{padding:8px 20px;background:#4CAF50;color:white;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:all 0.2s ease}.btn-modal-execute:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 2px 8px rgba(76,175,80,0.3)}.ocr-status{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.ocr-completed{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.ocr-pending{background:#fff3e0;color:#e65100;border:1px solid #ffcc80}.ocr-processing{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9;animation:ocr-pulse 2s ease-in-out infinite}.ocr-failed{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}.ocr-unknown{background:#f5f5f5;color:#757575;border:1px solid #e0e0e0}.btn-ocr{padding:5px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all 0.2s ease;white-space:nowrap}.btn-ocr-completed{background:#4CAF50;color:white}.btn-ocr-completed:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 2px 8px rgba(76,175,80,0.3)}@keyframes ocr-pulse{0%,100%{opacity:1}50%{opacity:0.6}}.ocr-info-section{margin-bottom:25px;padding:15px;background:#fafafa;border-radius:8px;border:1px solid #e0e0e0}.ocr-info-section h3{margin-bottom:12px;font-size:16px}.ocr-status-info{display:grid;gap:8px}.ocr-status-info p{margin:4px 0;font-size:14px}.ocr-data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.ocr-data-item{display:flex;flex-direction:column;gap:4px;padding:10px;background:white;border-radius:4px;border:1px solid #e0e0e0}.ocr-label{font-size:11px;font-weight:500;color:#666;text-transform:uppercase;letter-spacing:0.5px}.ocr-value{font-size:14px;color:#333;font-weight:500}#editModal .modal-content{overflow:visible!important;max-height:none!important;position:relative}#editModal .modal-body{max-height:70vh;overflow-y:auto;overflow-x:visible;position:relative}#editModal .form-group{position:relative;overflow:visible}.choices{margin-bottom:0;position:relative;z-index:100;pointer-events:auto!important}.choices *{pointer-events:auto!important}.choices__inner{background-color:white;border:2px solid #e0e0e0;border-radius:6px;padding:8px;min-height:44px;font-size:14px;cursor:pointer;pointer-events:auto}.choices__list--single{padding:4px}.choices__item--selectable{color:#333!important;background-color:white!important}.choices[data-type*="select-one"] .choices__item{color:#333!important;background-color:transparent!important;font-weight:500}.choices__placeholder{opacity:0.5;color:#999!important}.choices__inner:focus,.choices.is-focused .choices__inner,.choices.is-open .choices__inner{border-color:#4CAF50;box-shadow:0 0 0 3px rgba(76,175,80,0.1)}.choices__list--dropdown{border:2px solid #4CAF50;border-radius:6px;max-height:300px;overflow-y:auto;z-index:10000!important;background-color:white;position:absolute!important;width:100%;margin-top:2px}.choices__list--dropdown .choices__item{padding:10px;font-size:14px;cursor:pointer;color:#333;background-color:white}.choices__list--dropdown .choices__item--selectable{color:#333!important;background-color:white!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{background-color:#4CAF50!important;color:white!important}.choices__list--dropdown .choices__item[aria-selected="true"]{background-color:#e8f5e9!important;color:#2e7d32!important;font-weight:600}.choices__input{font-size:14px;padding:4px;background-color:white!important;color:#333!important}.choices[data-type*=select-one] .choices__input{background-color:white;border-bottom:1px solid #e0e0e0;padding:8px;color:#333}.choices__placeholder{opacity:0.7}.choices.is-disabled .choices__inner{background-color:#f5f5f5;cursor:not-allowed}.choices.is-open{z-index:10001!important}.choices.is-open .choices__list--dropdown{display:block!important;opacity:1!important;visibility:visible!important}@media (max-width:600px){.ocr-data-grid{grid-template-columns:1fr}.btn-ocr{font-size:11px;padding:4px 8px}.choices__list--dropdown{max-height:200px}}