:root{--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-gray-950: #030712;--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-primary-950: #172554;--color-danger-50: #fef2f2;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-danger-700: #b91c1c;--color-success-50: #f0fdf4;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-700: #15803d;--color-warning-50: #fffbeb;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-32: 8rem;--spacing-40: 10rem;--spacing-48: 12rem;--spacing-56: 14rem;--spacing-64: 16rem;--radius-none: 0;--radius-sm: .125rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-popover: 1050;--z-tooltip: 1060;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--wares-color-text-primary);background:var(--wares-color-background);font-family:var(--wares-font-sans);letter-spacing:0}button,input,textarea,select{font:inherit}.sfpm-app{min-height:100vh;background:linear-gradient(135deg,rgba(255,240,90,.18) 0%,transparent 50%),linear-gradient(225deg,rgba(22,138,173,.08) 0%,transparent 50%),linear-gradient(180deg,#eef5f2,#f8fbf8);display:flex;flex-direction:column}.sfpm-topbar{position:sticky;top:0;z-index:var(--wares-z-dropdown);min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:var(--wares-spacing-lg);padding:10px 22px;border-bottom:1px solid var(--wares-color-border);background:#f8fbf8f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sfpm-brand{min-height:38px;border:0;background:transparent;color:var(--wares-color-text-primary);font-weight:900;font-size:1.15rem;text-decoration:none;cursor:pointer;transition:opacity var(--wares-duration-fast)}.sfpm-brand:hover{opacity:.8}.sfpm-topbar nav{display:flex;align-items:center;gap:10px}.sfpm-topbar nav a{min-height:36px;display:inline-flex;align-items:center;padding:0 12px;border-radius:var(--wares-radius-md);color:var(--wares-color-text-secondary);font-weight:700;text-decoration:none;transition:background var(--wares-duration-fast),color var(--wares-duration-fast)}.sfpm-topbar nav a:hover{background:#17201d14;color:var(--wares-color-text-primary)}.sfpm-main{flex:1}.sfpm-footer{margin-top:auto;background:var(--wares-color-surface);border-top:1px solid var(--wares-color-border)}.sfpm-home{max-width:1200px;margin:0 auto;padding:var(--wares-spacing-lg) var(--wares-spacing-md)}.sfpm-title{margin:0 0 4px;font-size:2.25rem;font-weight:900;line-height:1.1;color:var(--wares-color-text-primary);background:linear-gradient(135deg,var(--wares-color-text-primary) 0%,var(--wares-color-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sfpm-route-label{display:inline-block;margin-bottom:var(--wares-spacing-lg);font-size:var(--wares-font-size-sm);color:var(--wares-color-text-secondary);font-weight:600}.sfpm-tabs{display:flex;gap:0;margin-bottom:0;border-bottom:2px solid var(--wares-color-border)}.sfpm-tab{min-height:44px;padding:10px var(--wares-spacing-lg);border:0;border-bottom:2px solid transparent;margin-bottom:-2px;background:transparent;color:var(--wares-color-text-secondary);font-weight:700;font-size:var(--wares-font-size-sm);cursor:pointer;transition:color var(--wares-duration-fast),border-color var(--wares-duration-fast),background var(--wares-duration-fast);white-space:nowrap;position:relative}.sfpm-tab:hover{color:var(--wares-color-text-primary);background:#00000008}.sfpm-tab--active{color:var(--wares-color-primary);border-bottom-color:var(--wares-color-primary);background:#3b82f60a}.sfpm-tab-content{padding-top:var(--wares-spacing-lg)}.sfpm-main .wpm-editor{min-height:calc(100vh - 218px);background:transparent}.sfpm-main .wpm-controls{background:#ffffffb8;border-radius:var(--wares-radius-md)}.sfplanner{display:flex;flex-direction:column;gap:var(--wares-spacing-lg)}.sfplanner-primary-input{margin-bottom:var(--wares-spacing-sm)}.sfplanner-primary-input-row{display:flex;gap:var(--wares-spacing-sm);align-items:flex-start}.sfplanner-textarea{flex:1;padding:var(--wares-spacing-sm);border:1px solid var(--wares-color-border);border-radius:var(--wares-radius-md);background:var(--wares-color-background);color:var(--wares-color-text-primary);font-size:var(--wares-font-size-sm);resize:vertical;font-family:var(--wares-font-sans);transition:border-color var(--wares-duration-fast),box-shadow var(--wares-duration-fast)}.sfplanner-textarea:focus,.sfplanner-select:focus{outline:none;border-color:var(--wares-color-primary);box-shadow:0 0 0 3px #3b82f62e}.sfplanner-voice-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--wares-color-border);border-radius:var(--wares-radius-md);background:var(--wares-color-surface);color:var(--wares-color-text-primary);font-size:1.15rem;cursor:pointer;transition:background var(--wares-duration-fast),border-color var(--wares-duration-fast),transform var(--wares-duration-fast);flex-shrink:0}.sfplanner-voice-btn:hover{background:#3b82f614;border-color:var(--wares-color-primary);transform:scale(1.05)}.sfplanner-voice-btn:active{transform:scale(.95)}.sfplanner-voice-fallback{font-size:var(--wares-font-size-xs);color:var(--wares-color-text-secondary);display:inline-flex;align-items:center;white-space:nowrap;padding-top:10px}.sfplanner-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--wares-spacing-md);padding:var(--wares-spacing-md);border-radius:var(--wares-radius-md);background:var(--wares-color-surface);border:1px solid var(--wares-color-border);box-shadow:var(--wares-shadow-sm)}.sfplanner-field{display:flex;flex-direction:column;gap:4px;min-width:140px}.sfplanner-label{font-size:var(--wares-font-size-xs);font-weight:700;color:var(--wares-color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.sfplanner-select{min-height:40px;padding:0 10px;border:1px solid var(--wares-color-border);border-radius:var(--wares-radius-md);background:var(--wares-color-background);color:var(--wares-color-text-primary);font-size:var(--wares-font-size-sm);cursor:pointer;transition:border-color var(--wares-duration-fast),box-shadow var(--wares-duration-fast)}.sfplanner-select option{background:#1a1f1d;color:#f0f5f2}.sfplanner-preset-field{width:100%;margin-bottom:var(--wares-spacing-xs)}.sfplanner-preset-field select{font-weight:700;border-color:var(--wares-color-primary);background:linear-gradient(135deg,rgba(59,130,246,.06),var(--wares-color-surface))}.sfplanner-preset-field select option{background:#1a1f1d;color:#f0f5f2;font-weight:600}.sfplanner-preset-divider{width:100%;height:1px;margin:var(--wares-spacing-sm) 0 var(--wares-spacing-xs);background:var(--wares-color-border);opacity:.5;border:0}.sfplanner-generate-btn{min-height:40px;align-self:flex-end;font-weight:800;transition:transform var(--wares-duration-fast),box-shadow var(--wares-duration-fast)}.sfplanner-generate-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.sfplanner-generate-btn:not(:disabled):active{transform:translateY(0)}.sfplanner-workflow-result{display:flex;align-items:center;gap:var(--wares-spacing-sm);padding:var(--wares-spacing-sm) var(--wares-spacing-md);border-radius:var(--wares-radius-md);background:linear-gradient(135deg,#22c55e1a,#22c55e0a);border:1px solid var(--wares-color-success);animation:sfplanner-fadeIn .3s ease-out}.sfplanner-badge{font-size:var(--wares-font-size-sm);font-weight:700;color:var(--wares-color-success)}.sfplanner-table-wrapper{border:1px solid var(--wares-color-border);border-radius:var(--wares-radius-md);overflow:hidden;background:var(--wares-color-surface);box-shadow:var(--wares-shadow-sm);animation:sfplanner-fadeIn .3s ease-out}.sfplanner-table-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--wares-spacing-sm);padding:var(--wares-spacing-md);border-bottom:1px solid var(--wares-color-border);background:linear-gradient(135deg,rgba(59,130,246,.03),transparent)}.sfplanner-table-title{margin:0;font-size:var(--wares-font-size-base);font-weight:800;color:var(--wares-color-text-primary)}.sfplanner-duration-tag{display:inline-block;margin-left:var(--wares-spacing-sm);padding:2px 10px;border-radius:var(--wares-radius-sm);background:linear-gradient(135deg,var(--wares-color-primary),#2563eb);color:#fff;font-size:var(--wares-font-size-xs);font-weight:700;vertical-align:middle}.sfplanner-table-actions{display:flex;flex-wrap:wrap;gap:var(--wares-spacing-sm)}.sfplanner-export-actions{padding:var(--wares-spacing-md);border-top:1px solid var(--wares-color-border);justify-content:center}.sfplanner-action-btn{white-space:nowrap;transition:transform var(--wares-duration-fast),box-shadow var(--wares-duration-fast)}.sfplanner-action-btn:hover{transform:translateY(-1px)}.sfplanner-table-scroll{overflow-x:auto}.sfplanner-table-wrapper table{width:100%;border-collapse:collapse;font-size:var(--wares-font-size-sm)}.sfplanner-table-wrapper th{padding:10px var(--wares-spacing-sm);text-align:left;font-size:var(--wares-font-size-xs);font-weight:700;color:var(--wares-color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--wares-color-border);background:var(--wares-color-surface)}.sfplanner-table-wrapper td{padding:10px var(--wares-spacing-sm);border-bottom:1px solid var(--wares-color-border);color:var(--wares-color-text-primary)}.sfplanner-table-wrapper tr:last-child td{border-bottom:none}.sfplanner-table-wrapper tbody tr{transition:background var(--wares-duration-fast)}.sfplanner-table-wrapper tbody tr:hover td{background:#00000008}.sfplanner-transition-tag{display:inline-block;padding:2px 8px;border-radius:var(--wares-radius-sm);background:linear-gradient(135deg,#8b5cf61f,#8b5cf60f);color:var(--wares-color-secondary);font-size:var(--wares-font-size-xs);font-weight:600}.sfplanner-edit-input{width:100%;min-width:60px;padding:4px 6px;border:1px solid var(--wares-color-primary);border-radius:var(--wares-radius-sm);background:var(--wares-color-background);color:var(--wares-color-text-primary);font-size:var(--wares-font-size-sm)}.sfplanner-row-actions{display:flex;gap:4px}.sfplanner-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--wares-color-border);border-radius:var(--wares-radius-sm);background:var(--wares-color-background);color:var(--wares-color-text-primary);font-size:var(--wares-font-size-sm);cursor:pointer;transition:background var(--wares-duration-fast),border-color var(--wares-duration-fast),transform var(--wares-duration-fast)}.sfplanner-icon-btn:hover{background:var(--wares-color-surface);border-color:var(--wares-color-text-secondary);transform:scale(1.08)}.sfplanner-icon-btn--danger:hover{border-color:var(--wares-color-error);color:var(--wares-color-error)}.sfplanner-loading{display:flex;align-items:center;justify-content:center;gap:var(--wares-spacing-md);padding:calc(var(--wares-spacing-lg) * 2) var(--wares-spacing-md);border-radius:var(--wares-radius-md);background:var(--wares-color-surface);border:1px solid var(--wares-color-border);color:var(--wares-color-text-secondary);font-size:var(--wares-font-size-sm);font-weight:600;box-shadow:var(--wares-shadow-sm)}.sfplanner-loading-spinner{width:24px;height:24px;border:3px solid var(--wares-color-border);border-top-color:var(--wares-color-primary);border-radius:50%;animation:sfplanner-spin .7s linear infinite}@keyframes sfplanner-spin{to{transform:rotate(360deg)}}@keyframes sfplanner-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sfplanner-error{display:flex;flex-direction:column;align-items:center;gap:var(--wares-spacing-sm);padding:calc(var(--wares-spacing-lg) * 1.5) var(--wares-spacing-md);border-radius:var(--wares-radius-md);background:linear-gradient(135deg,#ef444414,#ef444408);border:1px solid var(--wares-color-error);text-align:center;animation:sfplanner-fadeIn .3s ease-out}.sfplanner-error-icon{font-size:2rem}.sfplanner-error-text{max-width:420px;margin:0;font-size:var(--wares-font-size-sm);color:var(--wares-color-text-secondary);line-height:1.6}.sfplanner-retry-btn{margin-top:var(--wares-spacing-sm);font-weight:800;transition:transform var(--wares-duration-fast)}.sfplanner-retry-btn:hover{transform:translateY(-1px)}.sfplanner-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--wares-spacing-lg) * 2 + var(--wares-spacing-md)) var(--wares-spacing-md);text-align:center;color:var(--wares-color-text-secondary);animation:sfplanner-fadeIn .3s ease-out}.sfplanner-empty-icon{font-size:3rem;margin-bottom:var(--wares-spacing-md);animation:sfplanner-bounce 1.5s ease-in-out infinite}@keyframes sfplanner-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.sfplanner-empty-text{max-width:420px;margin:0;font-size:var(--wares-font-size-sm);line-height:1.6}.sfpm-faq{max-width:1200px;margin:0 auto;padding:var(--wares-spacing-lg) var(--wares-spacing-md)}.sfpm-faq-title{font-size:1.35rem;font-weight:900;margin:0 0 var(--wares-spacing-md);color:var(--wares-color-text-primary)}.sfpm-faq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--wares-spacing-md)}.sfpm-faq-card{padding:var(--wares-spacing-md);border-radius:var(--wares-radius-md);background:var(--wares-color-surface);border:1px solid var(--wares-color-border);box-shadow:var(--wares-shadow-sm);transition:box-shadow var(--wares-duration-fast),transform var(--wares-duration-fast)}.sfpm-faq-card:hover{box-shadow:var(--wares-shadow-md);transform:translateY(-2px)}.sfpm-faq-card h4{margin:0 0 6px;font-size:var(--wares-font-size-sm);font-weight:800;color:var(--wares-color-text-primary)}.sfpm-faq-card p{margin:0;font-size:var(--wares-font-size-sm);color:var(--wares-color-text-secondary);line-height:1.6}.sfpm-gateway{max-width:1200px;margin:0 auto;padding:0 var(--wares-spacing-md) var(--wares-spacing-lg)}.sfpm-gateway-details{padding:var(--wares-spacing-sm) var(--wares-spacing-md);border-radius:var(--wares-radius-md);background:#22c55e0d;border:1px solid rgba(34,197,94,.2);font-size:var(--wares-font-size-xs);color:var(--wares-color-text-secondary)}.sfpm-gateway-details summary{cursor:pointer;font-weight:700;color:var(--wares-color-text-primary);padding:var(--wares-spacing-sm) 0}.sfpm-gateway-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--wares-spacing-sm);padding:var(--wares-spacing-sm) 0}.sfpm-gateway-item{display:flex;flex-direction:column;gap:2px}.sfpm-gateway-item-label{font-weight:700;color:var(--wares-color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem}.sfpm-gateway-item-value{color:var(--wares-color-text-primary);font-weight:600;font-size:var(--wares-font-size-sm)}@media print{.sfpm-topbar,.sfpm-footer,.sfpm-tabs,.sfpm-faq,.sfpm-gateway,.sfplanner-controls,.sfplanner-primary-input,.sfplanner-workflow-result,.sfplanner-table-actions,.sfplanner-export-actions,.sfplanner-loading,.sfplanner-error{display:none!important}.sfpm-home{max-width:100%;padding:0}.sfplanner-table-wrapper{box-shadow:none;border:1px solid #ccc}}@media (max-width: 768px){.sfpm-topbar{align-items:flex-start;flex-direction:column;gap:var(--wares-spacing-sm);padding:10px 16px}.sfpm-topbar nav{width:100%;justify-content:space-between}.sfpm-home{padding:var(--wares-spacing-md) var(--wares-spacing-sm)}.sfpm-title{font-size:1.5rem}.sfplanner-controls{flex-direction:column}.sfplanner-field{width:100%;min-width:unset}.sfplanner-table-actions{width:100%}.sfplanner-table-actions button,.sfplanner-export-actions button{flex:1}.sfplanner-primary-input-row{flex-direction:column}.sfplanner-voice-fallback{padding-top:0}.sfpm-faq-grid{grid-template-columns:1fr}}@media (max-width: 480px){.sfpm-title{font-size:1.25rem}.sfpm-tab{padding:10px var(--wares-spacing-sm);font-size:var(--wares-font-size-xs)}.sfplanner-table-wrapper td,.sfplanner-table-wrapper th{padding:8px 6px;font-size:.75rem}.sfplanner-select{font-size:.8rem}}
