:root{font-family:var(--font-body);line-height:1.6;font-weight:400;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-canvas);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;min-width:320px;min-height:100vh;background:var(--bg-canvas);background-image:radial-gradient(ellipse at 20% 0%,rgba(255,140,66,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(255,94,58,.06) 0%,transparent 50%);overflow-x:hidden}#root{width:100%}button{font-family:inherit}.ds-toggle-box{border:1px solid var(--border-medium);border-radius:var(--radius-lg);background:var(--bg-card);overflow:clip;transition:border-color var(--animation-fast) ease,box-shadow var(--animation-fast) ease}.ds-toggle-box:hover{border-color:color-mix(in srgb,var(--primary-orange) 45%,var(--border-medium))}.ds-toggle-box--open{border-color:color-mix(in srgb,var(--primary-orange) 55%,var(--border-medium));box-shadow:0 8px 26px #00000038}.ds-toggle-box__trigger{width:100%;border:0;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;font-family:var(--font-body);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:.82rem .95rem}.ds-toggle-box__title{font-weight:700;line-height:1.3}.ds-toggle-box__icon-wrap{width:1.55rem;height:1.55rem;border-radius:.42rem;border:1px solid color-mix(in srgb,var(--primary-orange) 50%,transparent);background:color-mix(in srgb,var(--primary-orange) 14%,transparent);position:relative;flex-shrink:0}.ds-toggle-box__icon-horizontal,.ds-toggle-box__icon-vertical{position:absolute;left:50%;top:50%;background:var(--primary-orange);transform:translate(-50%,-50%);transition:transform var(--animation-fast) ease,opacity var(--animation-fast) ease}.ds-toggle-box__icon-horizontal{width:.72rem;height:2px}.ds-toggle-box__icon-vertical{width:2px;height:.72rem}.ds-toggle-box--open .ds-toggle-box__icon-vertical{transform:translate(-50%,-50%) scaleY(0);opacity:0}.ds-toggle-box__panel{border-top:1px solid color-mix(in srgb,var(--primary-orange) 22%,transparent);animation:ds-toggle-box-reveal .18s ease-out}.ds-toggle-box__panel-inner{padding:.78rem .95rem .94rem;color:var(--text-secondary);line-height:var(--body-line-height)}@keyframes ds-toggle-box-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cohort-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border-color);border-left:3px solid;transition:all var(--animation-fast);box-shadow:var(--shadow-lg)}.cohort-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-surface);border-color:color-mix(in srgb,var(--text-primary) 22%,var(--border-medium))}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.cohort-name-section{display:flex;align-items:center;gap:12px;flex:1}.cohort-color-indicator{width:20px;height:20px;border-radius:4px;flex-shrink:0}.cohort-name{font-size:18px;font-weight:700;margin:0;color:var(--text-primary)}.card-actions{display:flex;gap:8px;margin-left:12px}.btn-edit,.btn-delete{background:none;border:none;cursor:pointer;font-size:16px;padding:4px;opacity:.6;transition:opacity .2s}.btn-edit:hover,.btn-delete:hover{opacity:1}.cohort-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:16px;border-top:1px solid var(--border-light)}.stat{text-align:center}.stat-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.stat-value{font-size:20px;font-weight:700;color:var(--text-primary)}.color-selector{display:flex;gap:12px;flex-wrap:wrap}.color-option{width:40px;height:40px;border-radius:var(--radius-md);border:3px solid transparent;cursor:pointer;transition:all var(--animation-fast)}.color-option:hover{transform:scale(1.1)}.color-option.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-card),0 0 0 4px var(--text-primary)}.data-table{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;margin-bottom:12px;background:var(--bg-elevated)}.table-header{display:grid;grid-template-columns:1fr 1fr 1fr 80px;background:var(--bg-card);padding:12px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.table-row{display:grid;grid-template-columns:1fr 1fr 1fr 80px;padding:12px;border-top:1px solid var(--border-light);gap:8px;align-items:center}.table-row input{padding:8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:14px;transition:border-color var(--animation-fast),box-shadow var(--animation-fast);background:var(--bg-card);color:var(--text-primary)}.table-row input:focus{outline:none;border-color:var(--primary-orange);box-shadow:0 0 0 3px #ff8c4226}.btn-remove{background:var(--error);color:#fff;border:none;border-radius:var(--radius-sm);width:32px;height:32px;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:background var(--animation-fast)}.btn-remove:hover{background:var(--error);filter:brightness(1.1)}.btn-add-period{padding:8px 16px;font-size:14px;font-weight:600;border:1px dashed var(--border-color);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all var(--animation-fast)}.btn-add-period:hover{border-color:var(--primary-orange);color:var(--primary-orange);background:#ff8c421a}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.manager-header h2{font-size:28px;font-weight:700;margin:0;color:var(--text-primary)}.empty-state{padding:60px 20px;text-align:center;color:var(--text-tertiary);border:2px dashed var(--border-color);border-radius:var(--radius-lg);background:var(--bg-elevated)}.empty-state p{font-size:16px;margin:0}.cohorts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}@media(max-width:768px){.manager-header{flex-direction:column;align-items:flex-start;gap:16px}.cohorts-grid{grid-template-columns:1fr}}.survival-chart{width:100%}.chart-info{margin-top:24px;padding:16px;background:#ff8c421a;border-radius:var(--radius-lg);border-left:3px solid var(--primary-orange)}.chart-info p{font-size:14px;line-height:1.6;color:#ffffffe6;margin:0}.chart-info strong{color:var(--text-primary)}.explanation-section h2{font-size:28px;font-weight:700;margin-bottom:20px;color:var(--text-primary)}.explanation-content{display:flex;flex-direction:column;gap:24px}.explanation-content>p{font-size:16px;line-height:1.7;color:#ffffffe6}.concept-box{padding:20px;background:#ff8c421a;border-radius:var(--radius-lg);border-left:3px solid var(--primary-orange)}.concept-box h3{font-size:18px;font-weight:700;margin-bottom:12px;color:var(--text-primary)}.concept-box p{font-size:15px;line-height:1.7;color:#ffffffe6;margin-bottom:12px}.concept-box ul{margin:0;padding-left:24px}.concept-box li{font-size:15px;line-height:1.7;color:#ffffffe6;margin-bottom:8px}.concept-box strong{color:var(--text-primary)}.use-cases{margin-top:8px}.use-cases h3{font-size:20px;font-weight:700;margin-bottom:16px;color:var(--text-primary)}.use-cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.use-case-card{padding:16px;background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.use-case-card strong{display:block;font-size:15px;margin-bottom:8px;color:var(--text-primary)}.use-case-card p{font-size:14px;line-height:1.6;color:#ffffffe6;margin:0}.survival-walkthrough-list{margin:0;padding-left:1.25rem;display:grid;gap:.4rem;color:var(--text-secondary)}.chart-section h2{font-size:28px;font-weight:700;margin-bottom:12px;color:var(--text-primary)}.section-description{font-size:16px;color:var(--text-secondary);margin-bottom:24px;line-height:1.6}@media(max-width:768px){.explanation-section h2,.chart-section h2{font-size:24px}}:root{--primary-gradient: linear-gradient(135deg, #ff8c42 0%, #ff5e3a 100%);--primary-orange: #ff8c42;--primary-dark: #ff5e3a;--bg-canvas: #0d0d0f;--bg-whiteboard: var(--bg-canvas);--bg-white: #1c1c22;--bg-light: #141418;--bg-card: #1c1c22;--bg-elevated: #252530;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .75);--text-tertiary: rgba(255, 255, 255, .5);--border-color: rgba(255, 255, 255, .12);--border-light: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .12);--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #667eea;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 50%;--radius-control: 10px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .08);--shadow-md: 0 4px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .1);--shadow-xl: 0 8px 30px rgba(0, 0, 0, .15);--shadow-surface: 0 10px 40px rgba(0, 0, 0, .3);--shadow-surface-info: 0 10px 40px rgba(102, 126, 234, .3);--shadow-surface-info-lg: 0 15px 50px rgba(102, 126, 234, .4);--shadow-surface-warm: 0 4px 20px rgba(255, 140, 66, .2);--font-heading: "Fugaz One", cursive;--font-body: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--h1-size: 2.5rem;--h1-weight: 800;--h2-size: 1.8rem;--h2-weight: 700;--h3-size: 1.3rem;--h3-weight: 700;--body-size: 1rem;--body-line-height: 1.6;--small-size: .9rem;--orange-500: var(--primary-orange);--orange-600: var(--primary-dark);--bg-darkest: var(--bg-canvas);--bg-dark: var(--bg-light);--bg-sidebar: #111114;--text-muted: var(--text-tertiary);--border-subtle: var(--border-light);--border-accent: var(--primary-orange);--gradient-primary: var(--primary-gradient);--coral: #ff6b6b;--amber: #ffc857;--teal: #2dd4bf;--violet: #a78bfa;--rose: #fb7185;--gradient-warm: linear-gradient(135deg, #ff6b6b 0%, #ff5e3a 100%);--gradient-sunset: linear-gradient(135deg, #ffc857 0%, #ff8c42 50%, #ff6b6b 100%);--animation-fast: .15s;--animation-normal: .3s;--animation-slow: .6s;--ease-out-quad: cubic-bezier(.25, .46, .45, .94);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.68, -.55, .265, 1.55);--container-sm: 1200px;--container-md: 1400px;--container-lg: 1600px;--grid-tile-min: 340px;--modal-sm: 500px;--modal-md: 600px;--modal-lg: 700px;--tooltip-padding-y-compact: 6px;--tooltip-padding-x-compact: var(--spacing-sm);--tooltip-font-size-compact: .8rem;--tooltip-max-width-prose: min(22rem, calc(100vw - 1.5rem) );--tooltip-padding-prose-block: var(--spacing-sm);--tooltip-padding-prose-inline: var(--spacing-md);--tooltip-font-size-prose: var(--small-size);--tooltip-line-height-prose: 1.45;--chart-orange: #f97316;--chart-blue: #38bdf8;--chart-purple: #a855f7;--chart-green: #10b981;--chart-red: #ef4444;--chart-amber: #f59e0b;--chart-grid-line: rgba(255, 255, 255, .08);--chart-axis-line: rgba(255, 255, 255, .22);--chart-label: var(--text-tertiary);--chart-annotation: var(--text-secondary);--chart-positive-fill: rgba(16, 185, 129, .14);--chart-negative-fill: rgba(239, 68, 68, .14);--chart-background-fill: rgba(255, 255, 255, .05)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-canvas);color:var(--text-primary);line-height:var(--body-line-height, 1.6);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}h1{font-size:var(--h1-size, 2.5rem);font-weight:var(--h1-weight, 800);line-height:1.1}h2{font-size:var(--h2-size, 1.8rem);font-weight:var(--h2-weight, 700);line-height:1.2}h3{font-size:var(--h3-size);font-weight:var(--h3-weight);line-height:1.3}p,li,td,th,label,span{font-family:var(--font-body);font-weight:400}a{color:var(--primary-orange);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-dark, #ff5e3a)}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-canvas);background-image:radial-gradient(ellipse at 20% 0%,rgba(255,140,66,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(255,94,58,.06) 0%,transparent 50%)}.app-container{flex:1;max-width:var(--container-md);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-xl);width:100%}.main-content{display:flex;flex-direction:column;gap:var(--spacing-xl);max-width:var(--container-lg);margin:0 auto;padding:0 var(--spacing-xl);width:100%}.page-header{text-align:center;margin-bottom:var(--spacing-2xl)}.page-header h1{font-size:var(--h1-size, 2.5rem);font-weight:var(--h1-weight, 800);margin-bottom:var(--spacing-md);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:var(--font-heading)}.page-header p{font-size:1.1rem;color:var(--text-secondary);max-width:800px;margin:0 auto;line-height:var(--body-line-height, 1.6);font-family:var(--font-body);font-weight:400}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes subtleWobble{0%,to{transform:rotate(0)}25%{transform:rotate(.5deg)}75%{transform:rotate(-.5deg)}}@keyframes drawIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp var(--animation-slow) var(--ease-out-quad) forwards;opacity:0}.animate-draw-in{animation:drawIn var(--animation-normal) var(--ease-out-back) forwards;opacity:0}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.app-container{padding:var(--spacing-xl) var(--spacing-md)}.main-content{padding:0 var(--spacing-md)}.page-header h1{font-size:2rem}.page-header p{font-size:1rem}h1{font-size:2rem}h2{font-size:1.5rem}}@media print{.app-header,.app-footer,.export-menu{display:none}.app-container{max-width:100%;padding:0}.main-content{display:block}.page-header h1{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.ds-surface-frame{border:1px solid var(--border-medium);box-shadow:var(--shadow-surface);border-radius:var(--radius-xl)}.ds-type{font-family:var(--font-body);letter-spacing:.01em}h1.ds-type,h2.ds-type,h3.ds-type,h4.ds-type{font-family:var(--font-heading);letter-spacing:normal}.ds-surface-button{border:1px solid var(--border-medium);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);position:relative;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.ds-surface-button:hover{border-color:var(--primary-orange);box-shadow:var(--shadow-surface-warm);transform:translateY(-2px)}.ds-surface-card{background:var(--bg-card);border:1px solid var(--border-medium);box-shadow:var(--shadow-surface);border-radius:var(--radius-xl)}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:drawIn var(--animation-normal) var(--ease-out-back) forwards;opacity:0}.animate-slide-left{animation:slideInFromLeft .6s ease-out forwards}.animate-slide-bottom{animation:slideInFromBottom .6s ease-out forwards}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.app-header{background:#0d0d0fe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--text-primary);padding:var(--spacing-md) 0;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:100;opacity:0;animation:slideInFromBottom var(--animation-slow) ease-out forwards;transition:transform var(--animation-normal) cubic-bezier(.4,0,.2,1),opacity var(--animation-normal) ease-in-out;transform:translateY(0);will-change:transform}.app-header.hide-on-scroll-enabled{animation:slideInFromBottom var(--animation-slow) ease-out forwards}.app-header.header-hidden{pointer-events:none;animation:none!important}.app-header nav{max-width:var(--container-lg);margin:0 auto;padding:0 var(--spacing-xl);display:flex;justify-content:space-between;align-items:center}.nav-right,.header-right{display:flex;align-items:center;gap:var(--spacing-lg)}.logo{font-size:1.8rem;font-weight:700;text-decoration:none;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:transform .3s ease;font-family:var(--font-heading);white-space:nowrap;padding-right:var(--spacing-sm)}.logo:hover{transform:scale(1.02)}.back-link{color:var(--text-secondary);text-decoration:none;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:var(--spacing-sm);transition:color .2s ease;font-family:var(--font-body);position:relative}.back-link:hover{color:var(--primary-orange)}.github-link{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);text-decoration:none;font-weight:600;font-size:.95rem;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-medium);border-radius:10px;transition:all .2s ease;background:var(--bg-card);font-family:var(--font-body)}.github-link:hover{color:var(--primary-orange);border-color:var(--primary-orange);background:#ff8c421a;transform:translateY(-2px);box-shadow:0 4px 20px #ff8c4233}.github-link svg{flex-shrink:0}.page-header{text-align:center;margin-bottom:var(--spacing-2xl);padding:0 var(--spacing-xl)}.page-header h1{font-size:var(--h1-size);font-weight:var(--h1-weight);margin-bottom:var(--spacing-md);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:var(--font-heading)}.page-header p{font-size:var(--h3-size);color:var(--text-secondary);max-width:800px;margin:0 auto;line-height:var(--body-line-height);font-family:var(--font-body)}.header-content{padding:var(--spacing-xl) var(--spacing-2xl);max-width:var(--container-lg);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xl);width:calc(100% - var(--spacing-md) * 2);border:1px solid var(--border-medium);border-radius:var(--radius-xl);margin:var(--spacing-md) auto;background:var(--bg-card);box-shadow:var(--shadow-surface);position:relative;overflow:hidden}.header-content:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-gradient)}.header-left{flex:1}.header-left h1{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xs);font-family:var(--font-heading);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-left .tagline{font-size:1rem;color:var(--text-secondary);margin:0;font-family:var(--font-body);font-weight:400;line-height:var(--body-line-height)}.header-actions{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}@media(max-width:1200px){.header-content{flex-direction:column;align-items:flex-start}}@media(max-width:768px){.app-header,.app-header nav,.nav-bar{padding:var(--spacing-md)}.logo{font-size:1.25rem}.nav-right,.header-right{gap:var(--spacing-sm)}.header-left h1{font-size:1.4rem}.tagline{font-size:.9rem}.header-content{padding:var(--spacing-lg) var(--spacing-lg)}}.app-footer{background:var(--bg-light, #141418);color:var(--text-secondary);text-align:center;padding:var(--spacing-xl) var(--spacing-2xl);border-top:1px solid rgba(255,255,255,.1);margin-top:auto;position:relative;opacity:0;animation:slideInFromBottom .6s ease-out forwards}.app-footer p{color:var(--text-tertiary, rgba(255, 255, 255, .5));font-size:.9rem;margin:4px 0;font-family:var(--font-body);font-weight:400}.app-footer strong{color:var(--text-secondary);font-weight:700}.footer-links{margin-top:var(--spacing-xs)}.footer-links a{color:var(--primary-orange);text-decoration:none;font-weight:600;transition:color .2s ease;font-family:var(--font-body)}.footer-links a:hover{color:var(--primary-dark)}.footer-social{position:absolute;bottom:var(--spacing-xl);right:var(--spacing-2xl);display:flex;gap:var(--spacing-sm)}.social-icon{color:var(--text-tertiary, rgba(255, 255, 255, .5));transition:color .2s ease,transform .2s ease;display:inline-flex;align-items:center;justify-content:center}.social-icon:hover{color:var(--primary-orange);transform:translateY(-2px)}.social-icon svg{width:20px;height:20px}.app-footer.dark{background:#141418;color:#fff;border-top:1px solid rgba(255,255,255,.08)}.app-footer.dark p{opacity:.7;color:#fff}.app-footer.dark .social-icon{color:#ffffff80}.app-footer.dark .social-icon:hover{color:#fff}@media(max-width:768px){.app-footer{padding:var(--spacing-lg) var(--spacing-md)}.footer-social{position:static;justify-content:center;margin-top:var(--spacing-md)}}.btn-primary{padding:.75rem 1.5rem;font-size:1rem;font-weight:700;border:none;border-radius:10px;background:var(--primary-gradient);color:#fff;cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 30px #ff5e3a66,0 0 40px #ff8c4233}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:1px solid var(--border-medium);border-radius:10px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.btn-secondary:hover{border-color:var(--primary-orange);color:var(--primary-orange);background:#ff8c421a;transform:translateY(-2px);box-shadow:0 4px 20px #ff8c4233}.btn-help{display:flex;align-items:center;gap:var(--spacing-sm);padding:.5rem 1rem;font-size:.9rem;font-weight:600;border:1px solid var(--border-medium);border-radius:10px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.btn-help:hover{border-color:var(--primary-orange);color:var(--primary-orange);background:#ff8c421a;transform:translateY(-2px);box-shadow:0 4px 20px #ff8c4233}.btn-help svg{flex-shrink:0}.btn-reset{padding:.5rem 1rem;font-size:.9rem;font-weight:600;border:1px solid var(--border-medium);border-radius:10px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.btn-reset:hover{border-color:var(--primary-dark);color:var(--primary-dark);background:#ff5e3a1a;transform:translateY(-2px);box-shadow:0 4px 20px #ff5e3a33}.btn-add{padding:.75rem 1.5rem;font-size:1rem;font-weight:700;border:none;border-radius:10px;background:var(--primary-gradient);color:#fff;cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 30px #ff5e3a66,0 0 40px #ff8c4233}.btn-large{padding:1rem 2rem;font-size:1.1rem}.btn-danger{padding:var(--spacing-sm) var(--spacing-md);font-size:14px;font-weight:600;border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.btn-danger:hover{border-color:var(--error);color:var(--error);background:#ef44441a;transform:translateY(-2px);box-shadow:0 4px 20px #ef444433}.walkthrough-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-secondary);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.walkthrough-btn:hover{color:var(--primary-orange);border-color:var(--primary-orange);background:#ff8c421a;box-shadow:0 4px 20px #ff8c4226}.walkthrough-btn svg{flex-shrink:0}.walkthrough-icon{font-size:.75rem}@media(max-width:768px){.btn-help{padding:.4rem .8rem;font-size:.85rem}.walkthrough-btn{padding:var(--spacing-xs) var(--spacing-md);font-size:.85rem}}.card{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-surface);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .2s ease;position:relative;overflow:hidden}.card:hover{transform:translateY(-4px);box-shadow:0 20px 50px #0006,0 0 30px #ff8c421a;border-color:var(--primary-orange)}.welcome-banner,.grid-section{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-surface);margin-bottom:var(--spacing-xl);transition:border-color .2s ease,box-shadow .25s ease}.welcome-banner:hover,.grid-section:hover{border-color:#ff8c424d;box-shadow:0 20px 50px #0006,0 0 30px #ff8c4214}.welcome-banner{text-align:center}.welcome-banner h2{font-size:var(--h2-size, 1.8rem);margin-bottom:var(--spacing-sm);color:var(--text-primary);font-family:var(--font-heading)}.welcome-banner p{font-size:1rem;color:var(--text-secondary);margin-bottom:var(--spacing-lg);font-family:var(--font-body);font-weight:400;line-height:var(--body-line-height, 1.6)}.grid-section{margin-bottom:var(--spacing-xl)}.grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.grid-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary);font-family:var(--font-heading)}.content{background:var(--bg-card);padding:var(--spacing-2xl);border:1px solid var(--border-medium);box-shadow:var(--shadow-surface);border-radius:var(--radius-xl)}.placeholder{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl)}.placeholder h2{font-size:2rem;margin-bottom:var(--spacing-lg);color:var(--text-primary);font-family:var(--font-heading)}.placeholder p{font-size:1.05rem;color:var(--text-secondary);margin-bottom:var(--spacing-md);line-height:var(--body-line-height, 1.6);font-family:var(--font-body);font-weight:400}.placeholder ul{text-align:left;max-width:600px;margin:var(--spacing-xl) auto;padding-left:var(--spacing-xl)}.placeholder li{font-size:1.05rem;color:var(--text-secondary);margin-bottom:.75rem;line-height:var(--body-line-height, 1.6);font-family:var(--font-body);font-weight:400}.coming-soon{font-size:1.3rem;font-weight:700;color:var(--primary-orange);margin-top:var(--spacing-xl);font-family:var(--font-heading)}.landing-page{max-width:100%;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-xl);width:100%}.landing-header{margin-bottom:var(--spacing-2xl);text-align:center}.landing-header h1{font-size:2.5rem;font-weight:800;margin-bottom:var(--spacing-md);font-family:var(--font-heading);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-description{font-size:1.15rem;color:var(--text-secondary);line-height:var(--body-line-height, 1.6);font-family:var(--font-body);font-weight:400;max-width:700px;margin:0 auto}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--grid-tile-min),1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.tool-card{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-surface);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .2s ease;cursor:pointer;text-decoration:none;color:inherit;display:block;position:relative;overflow:hidden;animation:drawIn var(--animation-normal) var(--ease-out-back) forwards;opacity:0}.tool-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-gradient);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.tool-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px #0006,0 0 40px #ff8c421f;border-color:#ff8c424d}.tool-card:hover:before{transform:scaleX(1)}.tool-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-bottom:var(--spacing-md);background:#ff8c421f;border-radius:var(--radius-lg);line-height:1}.tool-title{font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-sm);color:var(--text-primary);font-family:var(--font-heading)}.tool-description{color:var(--text-secondary);line-height:var(--body-line-height, 1.6);font-family:var(--font-body);font-weight:400;font-size:.95rem;margin-bottom:var(--spacing-md)}.tool-link{color:var(--primary-orange);font-weight:600;margin-top:var(--spacing-md);display:inline-block;font-family:var(--font-body);font-size:.95rem;transition:transform .2s ease}.tool-card:hover .tool-link{transform:translate(4px)}.metrics-grid,.heuristics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--grid-tile-min),1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.metric-card,.heuristic-card{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-surface);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .2s ease;cursor:pointer;text-decoration:none;color:inherit;display:block;position:relative;overflow:hidden;animation:drawIn var(--animation-normal) var(--ease-out-back) forwards;opacity:0}.metric-card:before,.heuristic-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-gradient);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.metric-card:hover,.heuristic-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px #0006,0 0 40px #ff8c421f;border-color:#ff8c424d}.metric-card:hover:before,.heuristic-card:hover:before{transform:scaleX(1)}.metric-icon,.heuristic-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-bottom:var(--spacing-md);background:#ff8c421f;border-radius:var(--radius-lg);line-height:1}.metric-title,.heuristic-title{font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-sm);color:var(--text-primary);font-family:var(--font-heading)}.metric-description,.heuristic-description{color:var(--text-secondary);line-height:var(--body-line-height, 1.6);font-family:var(--font-body);font-weight:400;font-size:.95rem;margin-bottom:var(--spacing-md)}.metric-link,.heuristic-link{color:var(--primary-orange);font-weight:600;margin-top:var(--spacing-md);display:inline-block;font-family:var(--font-body);font-size:.95rem;transition:transform .2s ease}.metric-card:hover .metric-link,.heuristic-card:hover .heuristic-link{transform:translate(4px)}@media(max-width:768px){.grid-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.grid-header h2{font-size:1.25rem}.content{padding:var(--spacing-xl) var(--spacing-lg)}.placeholder h2{font-size:1.5rem}.landing-page{padding:var(--spacing-xl) var(--spacing-md)}.landing-header h1{font-size:2rem}.landing-description{font-size:1rem}.tools-grid,.metrics-grid,.heuristics-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.tool-card,.metric-card,.heuristic-card{padding:var(--spacing-lg)}.tool-title,.metric-title,.heuristic-title{font-size:1.1rem}}input[type=text],input[type=number],input[type=email],input[type=password],textarea,select{width:100%;padding:.75rem 1rem;border:1px solid var(--border-medium);border-radius:var(--radius-control);font-size:.95rem;font-family:var(--font-body);font-weight:400;transition:border-color .2s ease,box-shadow .2s ease;background:var(--bg-card);color:var(--text-primary);line-height:var(--body-line-height, 1.6)}select{color-scheme:dark;-webkit-text-fill-color:var(--text-primary)}select option,select optgroup{background:var(--bg-elevated);color:var(--text-primary)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-orange);box-shadow:0 0 0 3px #ff8c4226}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-elevated)}input::placeholder,textarea::placeholder{color:var(--text-tertiary, rgba(255, 255, 255, .5));font-weight:400}label{font-family:var(--font-body);font-weight:600;font-size:.9rem;color:var(--text-secondary);display:block;margin-bottom:.5rem}.page-layout{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%;padding:var(--spacing-lg) 0}.tile{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-surface);flex:0 0 auto}.tile-compact{padding:var(--spacing-sm) var(--spacing-lg)}.title-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.title-bar-heading{font-family:var(--font-heading);font-size:1.6rem;font-weight:700;color:var(--text-primary);margin:0;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title-bar-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.two-column-layout{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-lg);align-items:start}.two-column-layout .sidebar{display:flex;flex-direction:column}.two-column-layout .sidebar-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.two-column-layout .sidebar-content>*{margin-bottom:0!important;margin-top:0!important}.two-column-layout .main-panel{display:flex;flex-direction:column;gap:var(--spacing-lg)}.two-column-layout .main-panel>*{margin-bottom:0!important;margin-top:0!important}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-xs);font-family:var(--font-body)}.form-group input[type=text]{width:100%;padding:.75rem 1rem;border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:.95rem;font-family:var(--font-body);background:var(--bg-elevated);color:var(--text-primary)}.form-group input[type=text]:focus{outline:none;border-color:var(--primary-orange);box-shadow:0 0 0 3px #ff8c4226}.form-group input[type=range]{width:100%;margin-top:var(--spacing-xs)}.range-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-tertiary);margin-top:.25rem}@media(max-width:1024px){.two-column-layout{grid-template-columns:1fr}.two-column-layout .sidebar{order:2}.two-column-layout .main-panel{order:1}}@media(max-width:768px){.title-bar{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.title-bar-heading{font-size:1.3rem}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:0 20px 60px #00000080,0 0 40px #ff8c421a;width:90%;max-width:var(--modal-md);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border-light);background:var(--bg-elevated)}.modal-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;font-family:var(--font-body)}.modal-close-btn{width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);font-size:1.5rem;font-weight:700;cursor:pointer;border-radius:var(--radius-md);transition:all var(--animation-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close-btn:hover{background:#ffffff1a;color:var(--text-primary)}.modal-body{padding:var(--spacing-lg);overflow-y:auto}.modal-body .add-form{margin-bottom:var(--spacing-lg)}.modal-body .items-list{max-height:400px;overflow-y:auto}@media(max-width:768px){.modal-content{width:95%;max-height:90vh}}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-size:14px;font-weight:600;color:var(--text-secondary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-body);transition:border-color var(--animation-fast),box-shadow var(--animation-fast);background:var(--bg-elevated);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-orange);box-shadow:0 0 0 3px #ff8c4226}.form-group textarea{resize:vertical;min-height:80px}.form-group select{cursor:pointer;color-scheme:dark;-webkit-text-fill-color:var(--text-primary)}.form-group select option,.form-group select optgroup{background:var(--bg-elevated);color:var(--text-primary)}.modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-lg);gap:var(--spacing-md)}.modal-actions-left{flex:1}.modal-actions-right{display:flex;gap:var(--spacing-md)}.btn-delete{padding:10px 20px;font-size:14px;font-weight:600;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);cursor:pointer;transition:all var(--animation-fast);background:#ef444426;color:var(--error);font-family:var(--font-body)}.btn-delete:hover{background:#ef444440;border-color:var(--error)}.modal-hint{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-light);font-size:13px;color:var(--text-tertiary);font-style:italic;text-align:center}.ds-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border-medium);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all var(--animation-fast) ease;flex-shrink:0}.ds-icon-btn:hover{background:#ffffff1a;color:var(--text-primary);border-color:var(--text-tertiary)}.ds-icon-btn--danger:hover{background:#ef444426;color:var(--error);border-color:#ef44444d}.ds-icon-btn--primary:hover{background:#ff8c421a;color:var(--primary-orange);border-color:var(--primary-orange)}.ds-icon-btn--sm{width:26px;height:26px;font-size:.75rem}.ds-icon-btn--lg{width:40px;height:40px;font-size:1.1rem}.ds-icon-btn:disabled{opacity:.4;cursor:not-allowed}.ds-checkbox{display:inline-flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-family:var(--font-body);font-size:.9rem;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.ds-checkbox input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.ds-checkbox__box{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-elevated);transition:all var(--animation-fast) ease;flex-shrink:0}.ds-checkbox input:checked+.ds-checkbox__box{background:var(--primary-orange);border-color:var(--primary-orange)}.ds-checkbox input:checked+.ds-checkbox__box:after{content:"✓";color:#fff;font-size:.75rem;font-weight:700}.ds-checkbox input:focus-visible+.ds-checkbox__box{box-shadow:0 0 0 3px #ff8c4226}.ds-checkbox input:disabled+.ds-checkbox__box{opacity:.4;cursor:not-allowed}.ds-checkbox__label{line-height:1.4}.ds-toggle{display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-family:var(--font-body);font-size:.9rem;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.ds-toggle input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.ds-toggle__track{position:relative;width:40px;height:22px;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:11px;transition:all var(--animation-fast) ease;flex-shrink:0}.ds-toggle__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--text-tertiary);border-radius:var(--radius-full);transition:all var(--animation-fast) ease}.ds-toggle input:checked+.ds-toggle__track{background:var(--primary-orange);border-color:var(--primary-orange)}.ds-toggle input:checked+.ds-toggle__track .ds-toggle__thumb{left:20px;background:#fff}.ds-toggle input:focus-visible+.ds-toggle__track{box-shadow:0 0 0 3px #ff8c4226}.ds-toggle input:disabled+.ds-toggle__track{opacity:.4;cursor:not-allowed}.ds-toggle__label{line-height:1.4}.ds-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:3px;outline:none;cursor:pointer;transition:all var(--animation-fast) ease}.ds-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:var(--radius-full);background:var(--primary-orange);border:2px solid var(--bg-card);cursor:pointer;box-shadow:0 2px 6px #0000004d;transition:all var(--animation-fast) ease}.ds-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 10px #ff8c4266}.ds-slider::-moz-range-thumb{width:18px;height:18px;border-radius:var(--radius-full);background:var(--primary-orange);border:2px solid var(--bg-card);cursor:pointer;box-shadow:0 2px 6px #0000004d}.ds-slider:focus-visible{box-shadow:0 0 0 3px #ff8c4226}.ds-slider:disabled{opacity:.4;cursor:not-allowed}.ds-badge{display:inline-flex;align-items:center;padding:2px 10px;font-size:.75rem;font-weight:600;font-family:var(--font-body);border-radius:20px;background:var(--ds-badge-color, var(--bg-elevated));color:var(--text-secondary);border:1px solid var(--border-medium);line-height:1.6;white-space:nowrap}.ds-badge--primary{background:#ff8c4226;color:var(--primary-orange);border-color:#ff8c424d}.ds-badge--success{background:#10b98126;color:var(--success);border-color:#10b9814d}.ds-badge--warning{background:#f59e0b26;color:var(--warning);border-color:#f59e0b4d}.ds-badge--error{background:#ef444426;color:var(--error);border-color:#ef44444d}.ds-badge--info{background:#667eea26;color:var(--info);border-color:#667eea4d}.ds-badge[style*=--ds-badge-color]{background:color-mix(in srgb,var(--ds-badge-color) 15%,transparent);color:var(--ds-badge-color);border-color:color-mix(in srgb,var(--ds-badge-color) 30%,transparent)}.ds-label{display:block;margin-bottom:var(--spacing-xs);font-family:var(--font-body);font-weight:600;font-size:.9rem;color:var(--text-secondary)}.ds-label__required{color:var(--error);margin-left:2px}.ds-divider{border:none;border-top:1px solid var(--border-light);margin:var(--spacing-md) 0}.ds-tooltip-wrapper{position:relative;display:inline-flex}.ds-tooltip{position:absolute;z-index:1000;box-sizing:border-box;padding:var(--tooltip-padding-y-compact) var(--tooltip-padding-x-compact);font-size:var(--tooltip-font-size-compact);font-family:var(--font-body);font-weight:500;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-md);white-space:nowrap;pointer-events:none;animation:ds-tooltip-in var(--animation-fast) ease-out}.ds-tooltip--density-prose{white-space:normal;max-width:var(--tooltip-max-width-prose);width:max-content;min-width:0;text-align:left;padding:var(--tooltip-padding-prose-block) var(--tooltip-padding-prose-inline);font-size:var(--tooltip-font-size-prose);line-height:var(--tooltip-line-height-prose);font-weight:500}.ds-tooltip--top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.ds-tooltip--bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.ds-tooltip--left{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.ds-tooltip--right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}@keyframes ds-tooltip-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){.ds-tooltip{animation:none}}.ds-nav-item{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);text-decoration:none;font-family:var(--font-body);font-size:.78rem;font-weight:500;line-height:1.3;cursor:pointer;transition:background var(--animation-fast) ease,color var(--animation-fast) ease,border-color var(--animation-fast) ease;width:100%;text-align:left}.ds-nav-item:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-subtle)}.ds-nav-item--active{background:#ff8c421f;color:var(--orange-500);border-color:#ff8c4240;font-weight:600}.ds-nav-item__icon{font-size:.75rem;line-height:1;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-xs, 4px);flex-shrink:0}.ds-nav-item--active .ds-nav-item__icon{background:#ff8c422e}.ds-nav-item__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-form-group{margin-bottom:var(--spacing-lg)}.ds-form-group:last-child{margin-bottom:0}.ds-form-group__hint{display:block;margin-top:var(--spacing-xs);font-size:.8rem;color:var(--text-tertiary);font-family:var(--font-body)}.ds-form-group__error{display:block;margin-top:var(--spacing-xs);font-size:.8rem;color:var(--error);font-family:var(--font-body)}.ds-form-group--error input,.ds-form-group--error textarea,.ds-form-group--error select{border-color:var(--error)}.ds-form-group--error input:focus,.ds-form-group--error textarea:focus,.ds-form-group--error select:focus{box-shadow:0 0 0 3px #ef444426}.ds-modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-lg);gap:var(--spacing-md)}.ds-modal-actions__left{flex:1}.ds-modal-actions__right{display:flex;gap:var(--spacing-md)}.ds-action-group{display:flex;gap:6px;align-items:center;flex-shrink:0}.ds-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-xl);text-align:center}.ds-empty-state__icon{font-size:2.5rem;margin-bottom:var(--spacing-md);opacity:.6}.ds-empty-state__message{font-family:var(--font-body);font-size:1rem;color:var(--text-tertiary);margin-bottom:var(--spacing-lg);max-width:400px;line-height:var(--body-line-height)}.ds-tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--border-light);overflow-x:auto;-webkit-overflow-scrolling:touch}.ds-tab-bar__tab{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-tertiary);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--animation-fast) ease;white-space:nowrap;display:inline-flex;align-items:center;gap:var(--spacing-xs)}.ds-tab-bar__tab:hover{color:var(--text-secondary)}.ds-tab-bar__tab--active{color:var(--primary-orange);border-bottom-color:var(--primary-orange)}.ds-tab-bar__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:700;background:var(--bg-elevated);border-radius:10px;border:1px solid var(--border-medium)}.ds-tab-bar__tab--active .ds-tab-bar__badge{background:#ff8c4226;border-color:#ff8c424d;color:var(--primary-orange)}.ds-stat{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ds-stat__label{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.ds-stat__value{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--ds-stat-color, var(--primary-orange));line-height:1.2}.ds-stat__trend{font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--success)}.ds-stat__desc{font-family:var(--font-body);font-size:.85rem;color:var(--text-tertiary);max-width:200px}.ds-color-selector{display:flex;flex-wrap:wrap;gap:8px}.ds-color-swatch{width:32px;height:32px;border-radius:var(--radius-full);border:2px solid transparent;background:var(--ds-swatch-color);cursor:pointer;transition:all var(--animation-fast) ease;padding:0}.ds-color-swatch:hover{transform:scale(1.15);box-shadow:0 2px 8px #0000004d}.ds-color-swatch--selected{border-color:var(--text-primary);box-shadow:0 0 0 3px var(--ds-swatch-color),0 0 0 5px var(--bg-card)}.ds-color-swatch:focus-visible{outline:2px solid var(--primary-orange);outline-offset:2px}.ds-slider-field__row{display:flex;align-items:center;gap:var(--spacing-md)}.ds-slider-field__value{font-family:var(--font-body);font-size:.9rem;font-weight:700;color:var(--primary-orange);min-width:48px;text-align:right;flex-shrink:0}.ds-slider-field__range{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-tertiary);margin-top:2px}.ds-search{position:relative;display:flex;align-items:center}.ds-search__icon{position:absolute;left:12px;font-size:.85rem;pointer-events:none;z-index:1}.ds-search__input{padding-left:36px!important;padding-right:36px!important}.ds-search__clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-tertiary);font-size:.75rem;cursor:pointer;border-radius:var(--radius-full);transition:all var(--animation-fast) ease}.ds-search__clear:hover{background:#ffffff1a;color:var(--text-primary)}.ds-welcome-banner{text-align:center;position:relative}.ds-welcome-banner h2{font-size:var(--h2-size, 1.8rem);margin-bottom:var(--spacing-sm);color:var(--text-primary);font-family:var(--font-heading)}.ds-welcome-banner p{font-size:1rem;color:var(--text-secondary);margin-bottom:var(--spacing-lg);font-family:var(--font-body);font-weight:400;line-height:var(--body-line-height, 1.6)}.ds-welcome-banner__close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-tertiary);font-size:.9rem;cursor:pointer;border-radius:var(--radius-full);transition:all var(--animation-fast) ease}.ds-welcome-banner__close:hover{background:#ffffff1a;color:var(--text-primary)}.ds-collapsible__header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) 0;border:none;background:transparent;color:var(--text-primary);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:color var(--animation-fast) ease;text-align:left}.ds-collapsible__header:hover{color:var(--primary-orange)}.ds-collapsible__chevron{font-size:.7rem;color:var(--text-tertiary);flex-shrink:0;transition:transform var(--animation-fast) ease}.ds-collapsible__title{flex:1}.ds-collapsible__actions{display:flex;gap:var(--spacing-xs);align-items:center}.ds-collapsible__body{padding:var(--spacing-sm) 0 var(--spacing-md);animation:ds-collapse-in var(--animation-fast) ease-out}@keyframes ds-collapse-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ds-chart-container__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.ds-chart-container__title{font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.ds-chart-container__controls{display:flex;gap:var(--spacing-sm);align-items:center;flex-shrink:0}.ds-chart-container__body{min-height:200px}.ds-list-panel{display:flex;flex-direction:column;gap:var(--spacing-md)}.ds-list-panel__header{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.ds-list-panel__icon{font-size:1.5rem;flex-shrink:0}.ds-list-panel__title{font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.ds-list-panel__desc{font-family:var(--font-body);font-size:.85rem;color:var(--text-tertiary);margin:4px 0 0;line-height:var(--body-line-height)}.ds-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--ds-grid-cols, var(--grid-tile-min, 340px)),1fr));gap:var(--spacing-lg)}.ds-card-grid__add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:150px;cursor:pointer;border:2px dashed var(--border-medium);background:transparent;transition:all var(--animation-fast) ease}.ds-card-grid__add:hover{border-color:var(--primary-orange);background:#ff8c420d}.ds-card-grid__add-icon{font-size:2rem;color:var(--text-tertiary);transition:color var(--animation-fast) ease}.ds-card-grid__add:hover .ds-card-grid__add-icon{color:var(--primary-orange)}.ds-card-grid__add-label{font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--text-tertiary)}.ds-card-grid__add:hover .ds-card-grid__add-label{color:var(--primary-orange)}@media(max-width:768px){.ds-card-grid{grid-template-columns:1fr}}.ds-tabs__panels{margin-top:var(--spacing-md)}.ds-tabs__panel[hidden]{display:none}.ds-tabs__panel:not([hidden]){display:block}.ds-data-table-wrapper{overflow-x:auto}.ds-data-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.9rem}.ds-data-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);font-size:.8rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-medium)}.ds-data-table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);border-bottom:1px solid var(--border-light);vertical-align:middle}.ds-data-table tbody tr{transition:background var(--animation-fast) ease}.ds-data-table tbody tr:hover{background:#ffffff08}.ds-data-table__actions-col{width:100px;text-align:right}.ds-data-table__actions-cell{text-align:right}
