*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans),"Montserrat",sans-serif;font-size:var(--font-size-body-md, 16px);line-height:var(--line-height-body-md, 24px);font-weight:400;background-color:var(--color-bg-primary);color:var(--color-text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code,.data-mono{font-family:JetBrains Mono,monospace;font-weight:500;font-size:var(--font-size-data-mono, 14px);line-height:20px}a{color:var(--color-accent-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-accent-primary-fixed)}img{max-width:100%;display:block}:root{--color-bg-primary: #021710;--color-bg-secondary: #0d241c;--color-bg-surface: #021710;--color-bg-surface-container-low: #091f18;--color-bg-surface-container-high: #182e26;--color-bg-surface-container-highest: #233931;--color-bg-surface-bright: #283e35;--color-bg-surface-variant: #233931;--color-bg-surface-container-lowest: #00120b;--color-text-primary: #cfe8dc;--color-text-on-primary: #003919;--color-text-on-primary-container: #005027;--color-text-on-secondary: #1f352d;--color-text-on-secondary-container: #a6beb3;--color-text-on-tertiary: #402d13;--color-text-on-tertiary-container: #564126;--color-text-on-surface: #cfe8dc;--color-text-on-surface-variant: #bbcbbb;--color-text-on-background: #cfe8dc;--color-text-on-error: #690005;--color-text-on-error-container: #ffdad6;--color-accent-primary: #54e98a;--color-accent-primary-fixed: #6bfe9c;--color-accent-primary-fixed-dim: #4ae183;--color-accent-primary-container: #2ecc71;--color-accent-secondary: #b4ccc1;--color-accent-secondary-fixed: #cfe8dc;--color-accent-secondary-fixed-dim: #b4ccc1;--color-accent-tertiary: #e8c9a5;--color-accent-tertiary-fixed: #feddb8;--color-accent-tertiary-fixed-dim: #e0c29d;--color-accent-error: #ffb4ab;--color-accent-error-container: #93000a;--color-accent-outline: #869486;--color-accent-outline-variant: #3d4a3e;--color-border-primary: rgba(255, 255, 255, .05);--color-border-outline: rgba(255, 255, 255, .05);--color-border-outline-variant: rgba(255, 255, 255, .05);--shadow-sm: 0 0 15px rgba(46, 204, 113, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-error: 0 0 8px #ffb4ab;--font-sans: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-size-body-md: 16px;--line-height-body-md: 24px;--font-size-display-lg: 48px;--line-height-display-lg: 56px;--letter-spacing-display-lg: -.02em;--font-size-display-lg-mobile: 32px;--line-height-display-lg-mobile: 40px;--font-size-data-mono: 14px;--line-height-data-mono: 20px;--font-size-body-lg: 18px;--line-height-body-lg: 28px;--font-size-headline-md: 24px;--line-height-headline-md: 32px;--font-size-label-caps: 12px;--line-height-label-caps: 16px;--letter-spacing-label-caps: .1em;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}.display-lg{font-family:var(--font-sans);font-size:var(--font-size-display-lg);line-height:var(--line-height-display-lg);letter-spacing:var(--letter-spacing-display-lg);font-weight:700}.headline-md{font-family:var(--font-sans);font-size:var(--font-size-headline-md);line-height:var(--line-height-headline-md);font-weight:600}.body-lg{font-family:var(--font-sans);font-size:var(--font-size-body-lg);line-height:var(--line-height-body-lg);font-weight:400}.body-md{font-family:var(--font-sans);font-size:var(--font-size-body-md);line-height:var(--line-height-body-md);font-weight:400}.label-caps{font-family:var(--font-sans);font-size:var(--font-size-label-caps);line-height:var(--line-height-label-caps);letter-spacing:var(--letter-spacing-label-caps);font-weight:700;text-transform:uppercase}.data-mono{font-family:var(--font-mono);font-size:var(--font-size-data-mono);line-height:var(--line-height-data-mono);font-weight:500}.glass-card{background:#0d241cb3;border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.glass-card:hover{border-color:#54e98a4d;box-shadow:var(--shadow-sm)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--color-accent-primary);line-height:1.2}h1{font-size:var(--font-size-display-lg-mobile);font-weight:700;margin-bottom:var(--spacing-6)}h2{font-size:var(--font-size-headline-md);font-weight:600;margin-bottom:var(--spacing-4)}button{font-family:var(--font-sans);cursor:pointer;border:none;border-radius:var(--radius-md);font-size:var(--font-size-body-md);font-weight:600;padding:var(--spacing-3) var(--spacing-6);transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2)}button:active{transform:scale(.95)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}input[type=text],input[type=number],textarea,select{font-family:var(--font-sans);font-size:var(--font-size-body-md);background:var(--color-bg-surface-container-low);border:1px solid var(--color-border-outline);border-radius:var(--radius-md);color:var(--color-text-primary);padding:var(--spacing-3) var(--spacing-4);width:100%;transition:border-color var(--transition-base)}input[type=text]:focus,input[type=number]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #54e98a26}textarea{resize:vertical;min-height:80px}select{background-color:var(--color-bg-surface-container-high);color:var(--color-text-primary);-webkit-appearance:none;-moz-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 fill='%2354e98a' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}select option{background-color:#0d241c;color:#cfe8dc}.progress-bar{width:100%;height:8px;background:var(--color-bg-surface-container-highest);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-accent-primary),var(--color-accent-primary-fixed));border-radius:var(--radius-full);transition:width var(--transition-slow)}.progress-bar-fill.complete{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.home-page{max-width:1280px;margin:0 auto;padding:var(--spacing-5) var(--spacing-5) var(--spacing-10);display:flex;flex-direction:column;gap:var(--spacing-6)}.page-header-section{display:flex;align-items:center;gap:var(--spacing-4);flex-wrap:wrap}.page-header-section h1{margin-bottom:0}.brand-name{font-family:var(--font-mono);font-size:var(--font-size-label-caps);letter-spacing:var(--letter-spacing-label-caps);color:var(--color-accent-primary-fixed);background:#54e98a14;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);border:1px solid rgba(84,233,138,.2);text-transform:uppercase;font-weight:700}.page-indicator{font-family:var(--font-mono);font-size:var(--font-size-data-mono);color:var(--color-text-on-surface-variant);background:#ffffff0a;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);border:1px solid var(--color-border-outline)}.page-fingerprint{font-family:var(--font-mono);font-size:var(--font-size-data-mono);line-height:var(--line-height-data-mono);color:var(--color-accent-primary);background:#54e98a1a;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);border:1px solid rgba(84,233,138,.2);white-space:nowrap}.main-layout,.layout-left,.layout-right{display:flex;flex-direction:column;gap:var(--spacing-6)}.trip-params{display:flex;flex-direction:column;gap:var(--spacing-5);padding:var(--spacing-6)}.param-field{display:flex;flex-direction:column;gap:var(--spacing-2)}.param-label{font-size:var(--font-size-label-caps);letter-spacing:var(--letter-spacing-label-caps);font-weight:700;text-transform:uppercase;color:var(--color-text-on-surface-variant);margin-bottom:var(--spacing-1)}.param-label strong{color:var(--color-accent-primary);font-weight:700}.param-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:var(--color-bg-surface-container-highest);border-radius:var(--radius-full);outline:none;border:none;padding:0;cursor:pointer}.param-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--color-accent-primary);cursor:pointer;border:2px solid var(--color-bg-primary);box-shadow:0 0 8px #54e98a66;transition:box-shadow var(--transition-fast)}.param-slider::-webkit-slider-thumb:hover{box-shadow:0 0 12px #54e98a99}.param-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--color-accent-primary);cursor:pointer;border:2px solid var(--color-bg-primary);box-shadow:0 0 8px #54e98a66}.slider-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-on-surface-variant);font-family:var(--font-mono)}.param-select{background-color:var(--color-bg-surface-container-high)!important;color:var(--color-text-primary)!important;-webkit-appearance:none;-moz-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 fill='%2354e98a' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;padding-right:36px!important;border:1px solid var(--color-border-outline);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-body-md);padding:var(--spacing-3) var(--spacing-4);width:100%;transition:border-color var(--transition-base);cursor:pointer}.param-select:focus{outline:none;border-color:var(--color-accent-primary)!important;box-shadow:0 0 0 2px #54e98a26!important}.param-select option{background-color:#0d241c!important;color:#cfe8dc!important}.segmented-control{display:flex;border:1px solid var(--color-border-outline);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-surface-container-low)}.segment-btn{flex:1;padding:var(--spacing-3) var(--spacing-2);border:none;background:transparent;color:var(--color-text-on-surface-variant);font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:center;line-height:1.2}.segment-btn:not(:last-child){border-right:1px solid var(--color-border-outline)}.segment-btn:hover{background:#54e98a14;color:var(--color-text-primary)}.segment-btn.segment-active{background:var(--color-accent-primary-container);color:var(--color-bg-primary);font-weight:600}.segment-btn:active{transform:scale(.97)}.param-number-input{max-width:120px}.param-textarea{min-height:80px}.kpi-cards{display:grid;grid-template-columns:1fr;gap:var(--spacing-4)}.kpi-card-themed{background:#0d241cb3!important;border:1px solid var(--color-border-primary)!important;border-radius:var(--radius-lg)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;padding:var(--spacing-5)!important;transition:all var(--transition-base)!important}.kpi-card-themed:hover{border-color:#54e98a4d!important;box-shadow:var(--shadow-sm)!important;transform:translateY(-2px)}.gear-checklist{background:#0d241cb3;border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--spacing-5)}.checklist-categories{display:flex;flex-direction:column;gap:var(--spacing-5);margin-top:var(--spacing-4)}.checklist-category{border:1px solid var(--color-border-outline-variant);border-radius:var(--radius-md);padding:var(--spacing-4);background:#091f1880}.category-title{font-size:var(--font-size-body-md);font-weight:600;color:var(--color-accent-primary);margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-border-outline-variant)}.category-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-1)}.checklist-item{padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.checklist-item:hover{background:#54e98a0d}.item-label{display:flex;align-items:center;gap:var(--spacing-3);cursor:pointer;-webkit-user-select:none;user-select:none}.item-checkbox{width:18px;height:18px;accent-color:var(--color-accent-primary);cursor:pointer;flex-shrink:0}.item-name{font-size:var(--font-size-body-md);color:var(--color-text-primary);transition:all var(--transition-base);flex:1}.item-checked .item-name{text-decoration:line-through;opacity:.6;color:var(--color-text-on-surface-variant)}.custom-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--color-accent-primary-container);color:var(--color-bg-primary);padding:2px 8px;border-radius:var(--radius-full);margin-left:var(--spacing-2)}.add-custom-btn{display:inline-flex;align-items:center;gap:var(--spacing-1);background:transparent;border:1px dashed var(--color-border-outline);color:var(--color-accent-primary);font-size:13px;font-weight:500;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-sm);cursor:pointer;margin-top:var(--spacing-2);transition:all var(--transition-fast);width:100%;justify-content:center}.add-custom-btn:hover{border-color:var(--color-accent-primary);background:#54e98a14}.custom-item-form{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-2);padding:var(--spacing-3);background:#00000026;border-radius:var(--radius-sm)}.custom-item-input{font-size:var(--font-size-body-md);padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border-outline);border-radius:var(--radius-md);background:var(--color-bg-surface-container-low);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast)}.custom-item-input:focus{border-color:var(--color-accent-primary)}.custom-item-actions{display:flex;gap:var(--spacing-2)}.progress-section{margin-bottom:var(--spacing-4)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.progress-label{font-size:var(--font-size-body-md);font-weight:500;color:var(--color-text-on-surface-variant)}.progress-pct{font-family:var(--font-mono);font-size:var(--font-size-data-mono);color:var(--color-accent-primary);font-weight:600}.progress-track{width:100%;height:8px;background:var(--color-bg-surface-container-highest);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-accent-primary),var(--color-accent-primary-fixed));border-radius:var(--radius-full);transition:width .5s ease}.progress-fill.complete{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.export-actions{display:flex;gap:var(--spacing-4);flex-wrap:wrap}.workflow-result{background:linear-gradient(135deg,#54e98a26,#2ecc711a);border:1px solid var(--color-accent-primary-container);border-radius:var(--radius-lg);padding:var(--spacing-4) var(--spacing-5);display:flex;align-items:center;gap:var(--spacing-3);animation:fadeIn .3s ease}.workflow-result span{font-weight:600;color:var(--color-accent-primary);font-size:var(--font-size-body-md)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ad-slot{display:flex;align-items:center;justify-content:center;background:#091f1880;border:1px dashed var(--color-border-outline-variant);border-radius:var(--radius-md);min-height:60px}.ad-slot-top{min-height:90px;width:100%}.ad-slot-sidebar{min-height:250px;width:100%}.ad-slot-bottom{min-height:90px;width:100%}.ad-slot-label{font-family:var(--font-mono);font-size:var(--font-size-data-mono);color:var(--color-text-on-surface-variant);text-transform:uppercase;letter-spacing:.1em}.faq-section{background:#0d241c80;border:1px solid var(--color-border-outline-variant);border-radius:var(--radius-lg);padding:var(--spacing-5)}.faq-section details{margin-bottom:var(--spacing-3);padding:var(--spacing-3);border-radius:var(--radius-md);background:var(--color-bg-surface-container-low)}.faq-section summary{cursor:pointer;font-weight:600;color:var(--color-accent-primary)}.faq-section summary:hover{color:var(--color-accent-primary-fixed)}.faq-section p{margin-top:var(--spacing-3);color:var(--color-text-on-surface-variant);line-height:1.6}.secondary-page-layout{max-width:900px;margin:0 auto;padding:var(--spacing-10) var(--spacing-5);min-height:100vh;display:flex;flex-direction:column}.secondary-page-content{flex:1}.secondary-page-content h1,.secondary-page-content h2{color:var(--color-accent-primary)}.app-footer{display:flex;justify-content:center;align-items:center;gap:var(--spacing-6);padding:var(--spacing-6) 0;border-top:1px solid var(--color-border-primary);margin-top:var(--spacing-6);flex-wrap:wrap}.app-footer a{font-size:var(--font-size-body-md);font-weight:500}.footer-copy{font-size:13px;color:var(--color-text-on-surface-variant)}@media (min-width: 768px){.home-page{padding:var(--spacing-10) var(--spacing-10) var(--spacing-10)}.page-header-section h1{font-size:var(--font-size-display-lg);line-height:var(--line-height-display-lg);letter-spacing:var(--letter-spacing-display-lg)}.main-layout{flex-direction:row;align-items:flex-start}.layout-left{flex:0 0 380px;max-width:380px}.layout-right{flex:1;min-width:0}.kpi-cards{grid-template-columns:1fr}.ad-slot-sidebar{min-height:250px}}.contract-evidence{display:flex;flex-wrap:wrap;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:#54e98a0a;border:1px solid rgba(84,233,138,.08);border-radius:var(--radius-md);margin-top:var(--spacing-4)}.contract-evidence span{font-family:var(--font-mono);font-size:11px;color:var(--color-text-on-surface-variant);background:#ffffff08;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border-outline)}@media print{body{background:#fff!important;color:#000!important}.glass-card,.gear-checklist,.kpi-card-themed,.faq-section,.trip-params{background:#fff!important;border:1px solid #ccc!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}.export-actions,.workflow-result,.ad-slot,.app-footer,.contract-evidence,.brand-name,.page-indicator{display:none!important}.item-checked .item-name{color:#666!important}.progress-fill{background:#2ecc71!important}}
