:root{--navy: #0a1628;--navy-mid: #152744;--navy-light: #1e3a5f;--orange: #f4811f;--orange-hover: #d96e10;--orange-light: #fef3e8;--white: #ffffff;--gray-100: #f8f9fa;--gray-200: #e9ecef;--gray-400: #adb5bd;--gray-600: #6c757d;--gray-800: #343a40;--green: #28a745;--blue: #007bff;--red: #dc3545;--yellow: #ffc107;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 16px rgba(0, 0, 0, .16);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .2);--radius: 8px;--radius-lg: 12px;--font-mono: "Courier New", Courier, monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--gray-100);color:var(--gray-800);line-height:1.6;min-height:100vh}.app-header{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);color:var(--white);padding:16px 24px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:1000}.app-header .logo{font-size:24px;font-weight:800;letter-spacing:-.5px}.app-header .logo span{color:var(--orange)}.app-header .subtitle{font-size:13px;color:var(--gray-400);margin-top:2px}.app-main{max-width:1200px;margin:0 auto;padding:32px 20px 64px}.step-indicator{display:flex;align-items:center;gap:0;margin-bottom:32px;background:var(--white);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-sm)}.step-item{display:flex;align-items:center;gap:10px;flex-shrink:0;transition:opacity .2s}.step-item:not([style*=pointer]){opacity:.5}.step-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border:2px solid var(--gray-200);background:var(--white);color:var(--gray-400);flex-shrink:0;transition:all .2s}.step-item.active .step-circle,.step-item.completed .step-circle{border-color:var(--orange);background:var(--orange);color:var(--white)}.step-label{font-size:13px;font-weight:600;color:var(--gray-400);white-space:nowrap}.step-item.active .step-label,.step-item.completed .step-label{color:var(--navy)}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{background:var(--navy);color:var(--white);padding:16px 24px;display:flex;align-items:center;gap:10px}.card-header h2{font-size:18px;font-weight:700;margin:0}.card-body{padding:24px}.trip-form{display:grid;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.form-label .required{color:var(--red);margin-left:3px}.form-input{padding:12px 16px;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:15px;color:var(--gray-800);background:var(--white);transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px #f4811f26}.form-input.error{border-color:var(--red)}.form-hint{font-size:12px;color:var(--gray-400)}.form-error{font-size:12px;color:var(--red);font-weight:500}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cycle-info{background:var(--orange-light);border:1px solid var(--orange);border-radius:var(--radius);padding:12px 16px;font-size:13px;color:var(--navy);line-height:1.5}.cycle-info strong{display:block;margin-bottom:4px;color:var(--orange)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border-radius:var(--radius);font-size:15px;font-weight:600;cursor:pointer;border:none;transition:all .2s;text-decoration:none}.btn-primary{background:var(--orange);color:var(--white);width:100%;padding:14px;font-size:16px;margin-top:8px}.btn-primary:hover:not(:disabled){background:var(--orange-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.btn-outline{background:transparent;border:2px solid var(--navy);color:var(--navy);padding:10px 20px}.btn-outline:hover{background:var(--navy);color:var(--white)}.btn-sm{padding:8px 16px;font-size:13px}.btn-print{background:var(--navy);color:var(--white);padding:8px 18px;font-size:13px}.btn-print:hover{background:var(--navy-light)}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:60px;text-align:center}.spinner{width:52px;height:52px;border:4px solid var(--gray-200);border-top-color:var(--orange);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-title{font-size:18px;font-weight:700;color:var(--navy)}.loading-subtitle{font-size:14px;color:var(--gray-600)}.error-banner{background:#fff5f5;border:1px solid #feb2b2;border-radius:var(--radius);padding:16px 20px;color:#c53030;font-size:14px;margin-bottom:20px;display:flex;align-items:flex-start;gap:10px}.error-banner .error-icon{font-size:18px;flex-shrink:0;margin-top:1px}.summary-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.summary-card{background:var(--white);border-radius:var(--radius);padding:20px;text-align:center;box-shadow:var(--shadow-sm);border-top:4px solid var(--orange)}.summary-card .value{font-size:28px;font-weight:800;color:var(--navy);line-height:1;margin-bottom:6px}.summary-card .label{font-size:12px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.map-container{border-radius:var(--radius);overflow:hidden;height:480px;position:relative;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.map-container .leaflet-container{height:100%;width:100%}.marker-start .leaflet-popup-content-wrapper{border-left:4px solid var(--green)}.marker-pickup .leaflet-popup-content-wrapper{border-left:4px solid var(--blue)}.marker-dropoff .leaflet-popup-content-wrapper{border-left:4px solid var(--red)}.marker-rest .leaflet-popup-content-wrapper{border-left:4px solid var(--yellow)}.marker-fuel .leaflet-popup-content-wrapper{border-left:4px solid var(--orange)}.marker-break .leaflet-popup-content-wrapper{border-left:4px solid #6f42c1}.stops-list{display:flex;flex-direction:column;gap:8px}.stop-item{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:var(--gray-100);border-radius:var(--radius);border-left:4px solid var(--gray-200)}.stop-item.type-start{border-left-color:var(--green)}.stop-item.type-pickup{border-left-color:var(--blue)}.stop-item.type-dropoff{border-left-color:var(--red)}.stop-item.type-rest_10hr{border-left-color:var(--yellow)}.stop-item.type-fuel{border-left-color:var(--orange)}.stop-item.type-break_30min{border-left-color:#6f42c1}.stop-icon{font-size:22px;flex-shrink:0;margin-top:1px}.stop-name{font-weight:600;font-size:14px;color:var(--navy)}.stop-meta{font-size:12px;color:var(--gray-600);margin-top:3px}.eld-list{display:flex;flex-direction:column;gap:32px}.eld-log-wrapper{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.eld-log-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--navy);color:var(--white)}.eld-log-header h3{font-size:16px;font-weight:700}.eld-log-header .eld-date{font-size:13px;color:var(--gray-400)}.eld-canvas-container{overflow-x:auto;padding:16px;background:var(--white)}.eld-canvas{display:block;border:1px solid var(--gray-200);border-radius:4px}.eld-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.day-tab{padding:8px 16px;border-radius:20px;border:2px solid var(--gray-200);background:var(--white);color:var(--gray-600);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.day-tab.active{border-color:var(--orange);background:var(--orange);color:var(--white)}.day-tab:hover:not(.active){border-color:var(--navy);color:var(--navy)}.nav-bar{display:flex;align-items:center;justify-content:space-between;margin-top:24px;flex-wrap:wrap;gap:12px}@media (max-width: 640px){.form-grid-2{grid-template-columns:1fr}.summary-panel{grid-template-columns:repeat(2,1fr)}.step-indicator{flex-wrap:wrap}.step-label{display:none}.app-main{padding:20px 12px 48px}}.picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1628a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.picker-modal{background:var(--white);border-radius:var(--radius-lg);box-shadow:0 24px 80px #0006;width:100%;max-width:780px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.picker-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;background:var(--navy);color:var(--white);flex-shrink:0}.picker-header-title{font-size:17px;font-weight:700;margin-bottom:2px}.picker-header-sub{font-size:12px;color:var(--gray-400)}.picker-close-btn{background:none;border:none;color:var(--gray-400);font-size:20px;cursor:pointer;line-height:1;padding:0 4px;margin-left:12px;flex-shrink:0;transition:color .15s}.picker-close-btn:hover{color:var(--white)}.picker-inner{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.picker-search-row{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--gray-200);background:var(--gray-100);position:relative;flex-shrink:0}.picker-search-icon{font-size:18px;flex-shrink:0}.picker-search-input{flex:1;border:2px solid var(--gray-200);border-radius:var(--radius);padding:10px 14px;font-size:14px;outline:none;background:var(--white);transition:border-color .2s;color:var(--gray-800)}.picker-search-input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f4811f26}.picker-suggestions{position:absolute;top:calc(100% - 1px);left:16px;right:16px;background:var(--white);border:1px solid var(--gray-200);border-top:none;border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-md);list-style:none;margin:0;padding:4px 0;z-index:10000;max-height:240px;overflow-y:auto}.picker-suggestion-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;cursor:pointer;font-size:13px;color:var(--gray-800);transition:background .12s;border-bottom:1px solid var(--gray-100)}.picker-suggestion-item:last-child{border-bottom:none}.picker-suggestion-item:hover{background:var(--orange-light)}.sugg-icon{flex-shrink:0;font-size:14px;margin-top:1px}.sugg-text{line-height:1.4}.picker-map-canvas{flex:1;min-height:360px;position:relative;overflow:hidden}.picker-map-canvas .leaflet-container{height:100%;width:100%;min-height:360px}.map-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#0a1628bf;color:var(--white);font-size:11px;padding:5px 14px;border-radius:20px;pointer-events:none;white-space:nowrap;z-index:1000}.picker-selected-badge{padding:10px 16px;background:var(--orange-light);border-top:1px solid var(--orange);font-size:13px;color:var(--navy);flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.picker-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--gray-200);background:var(--white);flex-shrink:0}.picker-mode-badge{font-size:12px;color:var(--gray-600);font-weight:500}.location-field-wrap{display:flex;gap:8px;align-items:flex-start}.location-field-wrap .form-input{flex:1}.btn-pick-map{flex-shrink:0;background:var(--white);border:2px solid #dc3545;border-radius:var(--radius);padding:0;cursor:pointer;transition:background .18s,border-color .18s,transform .12s;display:flex;align-items:center;justify-content:center;width:46px;height:46px}.btn-pick-map:hover{background:#fff5f5;border-color:#b02030;transform:scale(1.06)}.btn-pick-map:active{transform:scale(.97)}.btn-pick-map:disabled{opacity:.45;cursor:not-allowed;transform:none}.location-coords-pill{display:inline-flex;align-items:center;gap:6px;margin-top:5px;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;color:#2e7d32}@media print{.app-header,.step-indicator,.nav-bar,.btn-print,.eld-nav,.summary-panel{display:none!important}body{background:#fff}.eld-log-wrapper{box-shadow:none;border:1px solid #ccc;break-inside:avoid;margin-bottom:20px}.eld-canvas-container{padding:0}}
