.vehicle-list{height:100%;display:flex;flex-direction:column;background-color:#f5f5f5;border-right:1px solid #ddd}.vehicle-list-title{margin:0;padding:20px;font-size:20px;font-weight:700;background-color:#2196f3;color:#fff}.vehicle-list-count{padding:10px 20px;background-color:#e3f2fd;border-bottom:1px solid #ddd;font-size:14px;color:#666}.vehicle-items{flex:1;overflow-y:auto;padding:10px}.no-vehicles{padding:20px;text-align:center;color:#999}.vehicle-item{background-color:#fff;border-radius:8px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.vehicle-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.vehicle-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.vehicle-id{font-size:16px;font-weight:700;color:#333}.vehicle-status{font-size:14px;color:#666}.vehicle-info{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;justify-content:space-between;font-size:14px}.info-label{color:#666}.info-value{font-weight:500;color:#333}.point-list{padding:16px;overflow-y:auto;display:flex;flex-direction:column;flex:1}.point-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #1976d2}.point-list h3{margin:0;font-size:16px;font-weight:600;color:#333}.btn-add{padding:6px 16px;background-color:#1976d2;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-add:hover{background-color:#1565c0;transform:translateY(-1px);box-shadow:0 2px 8px #1976d233}.btn-add.adding{background-color:#ff9800;cursor:wait}.btn-add.adding:hover{background-color:#f57c00}.no-points{margin:32px 0;text-align:center;color:#999;font-size:14px}.point-items{display:flex;flex-direction:column;gap:12px;flex:1}.point-item{padding:8px 12px;background-color:#f9f9f9;border-left:4px solid #ddd;border-radius:4px;transition:all .3s ease;border:1px solid #e0e0e0;margin-bottom:8px}.point-item:hover{background-color:#f5f5f5;box-shadow:0 2px 8px #0000001a;transform:translate(2px)}.point-item.selected{background-color:#e3f2fd;border-left-width:6px;box-shadow:0 2px 8px #1976d233}.point-item-content{display:flex;align-items:center;gap:8px}.point-marker{font-size:16px;flex-shrink:0}.point-name{font-size:13px;font-weight:600;color:#333;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.point-subcategory{margin:4px 0 0 24px;font-size:11px;color:#666;font-weight:500}.point-remarks{margin:4px 0 0 24px;font-size:11px;color:#999;font-style:italic}.btn-edit,.btn-delete{padding:4px 8px;border:none;background-color:transparent;cursor:pointer;font-size:14px;transition:all .2s ease;flex-shrink:0;color:#666;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:4px}.btn-edit:hover{background-color:#1976d2;color:#fff}.btn-delete:hover{background-color:#f44336;color:#fff}.btn-edit:disabled,.btn-delete:disabled{opacity:.6;cursor:not-allowed}.management-container{padding:24px;height:100%;overflow-y:auto;background-color:#f5f5f5}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.management-header h2{font-size:24px;font-weight:600;color:#333;margin:0}.btn-primary,.btn-secondary,.btn-edit,.btn-delete{padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background-color:#2196f3;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1976d2;transform:translateY(-1px);box-shadow:0 2px 8px #2196f34d}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary{background-color:#999;color:#fff;margin-left:8px}.btn-secondary:hover:not(:disabled){background-color:#777}.btn-secondary:disabled{background-color:#ccc;cursor:not-allowed}.btn-edit{background-color:#4caf50;color:#fff;padding:6px 12px;font-size:12px;margin-right:8px}.btn-edit:hover:not(:disabled){background-color:#45a049}.btn-edit:disabled{background-color:#ccc;cursor:not-allowed}.btn-delete{background-color:#f44336;color:#fff;padding:6px 12px;font-size:12px}.btn-delete:hover:not(:disabled){background-color:#da190b}.btn-delete:disabled{background-color:#ccc;cursor:not-allowed}.form-card{background-color:#fff;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000001a}.form-card h3{margin:0 0 20px;font-size:18px;color:#333}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#666;font-size:14px}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.form-group input:disabled{background-color:#f0f0f0;color:#999;cursor:not-allowed}.form-actions{display:flex;gap:8px;margin-top:20px}.error-message{background-color:#ffebee;border:1px solid #f44336;color:#c62828;padding:12px 16px;border-radius:4px;margin-bottom:16px;font-size:14px}.loading{text-align:center;padding:24px;color:#666;font-size:14px}.management-list{display:flex;flex-direction:column;gap:16px}.no-data{text-align:center;padding:40px 24px;color:#999;font-size:14px;background-color:#fff;border-radius:8px;border:1px dashed #ddd}.management-item{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 4px #0000000d;transition:box-shadow .2s}.management-item:hover{box-shadow:0 4px 12px #0000001a}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #eee}.item-header h3{margin:0;font-size:16px;font-weight:600;color:#333}.item-actions{display:flex;gap:8px}.item-info{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}.info-row .label{font-weight:500;color:#666;min-width:80px}.info-row .value{color:#333;flex:1;text-align:right}@media (max-width: 768px){.management-container{padding:16px}.management-header{flex-direction:column;align-items:flex-start;gap:12px}.management-header button{width:100%}.form-card{padding:16px}.item-header{flex-direction:column;align-items:flex-start}.item-actions{width:100%;margin-top:12px}.item-actions button{flex:1}.info-row{flex-direction:column;gap:4px}.info-row .label{min-width:auto}.info-row .value{text-align:left}}.photo-upload-container{display:flex;flex-direction:column;gap:12px}.photo-upload-label{display:inline-block;padding:10px 16px;background-color:#2196f3;color:#fff;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s;width:fit-content}.photo-upload-label:hover{background-color:#1976d2}.photo-preview{display:flex;justify-content:center;align-items:center;margin-top:12px}.photo-preview img{max-width:200px;max-height:200px;border-radius:8px;border:2px solid #ddd;box-shadow:0 2px 8px #0000001a}.driver-photo-thumbnail{width:80px;height:80px;object-fit:cover;border-radius:8px;border:1px solid #ddd}.license-plate-input{padding:16px;background-color:#f5f5f5;border-radius:8px;margin:16px 0}.license-plate-description{font-size:12px;color:#666;margin-bottom:12px;padding:8px;background-color:#e3f2fd;border-radius:4px;border-left:4px solid #1976d2}.radio-group{display:flex;gap:20px;margin-top:8px}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.radio-label input[type=radio]{display:none}.radio-custom{width:20px;height:20px;border-radius:50%;border:2px solid #ccc;display:flex;align-items:center;justify-content:center;transition:all .2s}.radio-custom.white{background-color:#fff}.radio-custom.green{background-color:#90ee90}.radio-label input[type=radio]:checked+.radio-custom{border-color:#1976d2;box-shadow:inset 0 0 0 4px #1976d2}.plate-parts{display:grid;grid-template-columns:1fr 80px 60px 100px;gap:12px;margin:16px 0}.form-group{display:flex;flex-direction:column}.form-group label{font-size:12px;font-weight:600;margin-bottom:4px;color:#333}.form-group input{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-weight:500;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 4px #1976d24d}.input-region{min-width:150px}.input-number,.input-hiragana,.input-serial{text-align:center;font-weight:700;letter-spacing:2px}.input-number{font-size:18px}.input-hiragana{font-size:20px}.input-serial{font-size:18px}.input-hint{font-size:11px;color:#999;margin-top:2px;text-align:center;font-family:monospace}.license-plate-preview{display:flex;justify-content:center;margin:20px 0}.preview-plate{width:280px;height:130px;border:3px solid #333;border-radius:4px;display:flex;flex-direction:column;padding:0;background-color:#fff;box-shadow:0 4px 8px #0003;font-weight:700;font-family:Arial,sans-serif;overflow:hidden}.preview-plate.white{background-color:#fff;color:#000}.preview-plate.green{background-color:#90ee90;color:#000}.preview-top{display:flex;flex:0 0 40%;background-color:inherit}.preview-region{flex:0 0 50%;display:flex;align-items:center;justify-content:center;font-size:20px;padding:4px 0}.preview-number{flex:0 0 50%;display:flex;align-items:center;justify-content:center;font-size:22px;padding:4px 0}.preview-bottom{display:flex;flex:0 0 60%;background-color:inherit}.preview-hiragana{flex:0 0 35%;display:flex;align-items:center;justify-content:center;font-size:32px;padding:0}.preview-serial{flex:0 0 65%;display:flex;align-items:center;justify-content:center;font-size:54px;letter-spacing:4px;padding:0}.license-plate-full{text-align:center;font-size:13px;color:#555;margin-top:12px;padding:8px;background-color:#fff;border-radius:4px;border:1px solid #ddd}.license-plate-full strong{font-size:14px;color:#1976d2;font-weight:700}@media (max-width: 768px){.plate-parts{grid-template-columns:1fr 1fr}.preview-plate{width:240px;height:110px}.preview-region{font-size:16px}.preview-number{font-size:18px}.preview-hiragana{font-size:26px}.preview-serial{font-size:44px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-header{background-color:#1976d2;color:#fff;padding:16px 24px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.app-header h1{font-size:24px;font-weight:600}.header-info{display:flex;gap:24px;font-size:14px;align-items:center}.logout-btn{background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.5);padding:6px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.logout-btn:hover{background-color:#ffffff4d}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.loading-spinner{color:#fff;font-size:18px;font-weight:500}.tab-navigation{display:flex;background-color:#f5f5f5;border-bottom:1px solid #ddd;padding:0;margin:0}.tab-button{padding:16px 24px;background-color:transparent;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .2s;border-bottom:3px solid transparent}.tab-button:hover{background-color:#efefef;color:#333}.tab-button.active{color:#1976d2;border-bottom-color:#1976d2}.tab-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.app-content{flex:1;display:flex;overflow:hidden}.sidebar{width:300px;min-width:300px;overflow:hidden;display:flex;flex-direction:column;background-color:#fff;border-right:1px solid #ddd;transition:width .3s ease,min-width .3s ease,border .3s ease}.sidebar.collapsed{width:0;min-width:0;border:none}.sidebar-left{order:1;width:300px;min-width:300px}.sidebar-left.sidebar-three-column{width:450px;min-width:450px;display:flex;flex-direction:column}.sidebar-left.sidebar-three-column.collapsed{width:50px;min-width:50px;border-right:1px solid #ddd}.sidebar-left.sidebar-four-column{width:660px;min-width:660px;display:flex;flex-direction:column}.sidebar-left.sidebar-four-column.collapsed,.sidebar-left.collapsed{width:50px;min-width:50px;border-right:1px solid #ddd}.sidebar-right{order:3;width:320px;min-width:320px;background-color:#fff}.sidebar-tabs{display:flex;flex-direction:column;gap:0;padding:0;height:100%}.sidebar-tab{flex:1;padding:12px;background-color:#f9f9f9;border:none;border-right:3px solid transparent;cursor:pointer;color:#666;font-size:20px;transition:all .2s;display:flex;align-items:center;justify-content:center}.sidebar-tab:hover{background-color:#efefef}.sidebar-tab.active{border-right-color:#2196f3;background-color:#e3f2fd;color:#2196f3}.sidebar-tabs-header{display:flex;gap:0;padding:0;background-color:#f9f9f9;border-bottom:1px solid #eee;flex-shrink:0}.sidebar-tab-btn{flex:1;padding:12px 16px;background-color:#f9f9f9;border:none;border-bottom:3px solid transparent;cursor:pointer;color:#666;font-size:13px;font-weight:500;transition:all .2s}.sidebar-tab-btn:hover{background-color:#efefef}.sidebar-tab-btn.active{color:#2196f3;border-bottom-color:#2196f3;background-color:#fff}.sidebar-tabs-header .collapse-btn{padding:12px 8px;margin-left:auto;flex-shrink:0}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f9f9f9;border-bottom:1px solid #eee;flex-shrink:0}.sidebar-header h3{margin:0;font-size:14px;font-weight:600;color:#333}.collapse-btn{background:none;border:none;padding:4px 8px;cursor:pointer;color:#666;font-size:12px;transition:color .2s}.collapse-btn:hover{color:#333}.sidebar-content{flex:1;overflow-y:auto;padding:12px}.driver-list{display:flex;flex-direction:column;gap:8px}.driver-item{padding:10px;background-color:#f9f9f9;border-radius:4px;border-left:3px solid #2196F3}.driver-name{font-weight:600;color:#333;font-size:14px;margin-bottom:4px}.driver-phone{font-size:12px;color:#666;margin-bottom:2px}.driver-address{font-size:12px;color:#999}.empty-list{text-align:center;color:#999;padding:20px 10px;font-size:13px}.sidebar-three-column-header{padding:8px 12px;background-color:#f9f9f9;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.sidebar-three-column-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;flex:1;overflow:hidden}.sidebar-four-column-header{padding:8px 12px;background-color:#f9f9f9;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.sidebar-four-column-container{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:0;flex:1;overflow:hidden}.sidebar-column{display:flex;flex-direction:column;border-right:1px solid #eee;overflow:hidden}.sidebar-column:last-child{border-right:none}.sidebar-column h3{padding:12px;margin:0;font-size:13px;font-weight:600;color:#333;background-color:#f9f9f9;border-bottom:1px solid #eee;flex-shrink:0;white-space:nowrap}.column-content{flex:1;overflow-y:auto;padding:0}.main-content{flex:1;position:relative;overflow:hidden;order:2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;padding:24px;max-width:500px;width:90%;box-shadow:0 4px 12px #00000026}.modal-content h2{margin-bottom:20px;font-size:24px;color:#333}.modal-info{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.modal-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee}.modal-label{font-weight:500;color:#666}.modal-value{color:#333;font-weight:600}.modal-buttons{display:flex;gap:10px;margin-top:16px}.modal-tracking{flex:1;padding:12px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.modal-tracking:hover{background-color:#45a049}.modal-tracking.tracking-active{background-color:#ff9800}.modal-tracking.tracking-active:hover{background-color:#fb8c00}.modal-close{flex:1;padding:12px;background-color:#2196f3;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.modal-close:hover{background-color:#1976d2}@media (max-width: 768px){.app-content{flex-direction:column}.sidebar{width:100%;max-height:40%}.header-info{flex-direction:column;gap:4px;align-items:flex-end}}
