@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700;900&family=Roboto+Condensed:wght@400;500;600;700&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.logo{align-items:center;display:inline-flex;justify-content:center;-webkit-user-select:none;user-select:none}.logo-full{width:100%}.logo-full .logo-image{height:auto;object-fit:contain;width:100%}.logo-icon{width:-webkit-fit-content;width:fit-content}.logo-icon .logo-image{height:100%;object-fit:contain;width:100%}.logo-icon-text{align-items:center;display:flex;gap:var(--spacing-md)}.logo-icon-image{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));height:100%;object-fit:contain;width:auto}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);-webkit-background-clip:text;background-clip:text;font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.logo-sm{height:32px}.logo-sm .logo-text{font-size:1.25rem}.logo-md{height:48px}.logo-md .logo-text{font-size:1.75rem}.logo-lg{height:64px}.logo-lg .logo-text{font-size:2rem}@media (max-width:639px){.logo-sm{height:28px}.logo-sm .logo-text{font-size:1rem}.logo-md{height:40px}.logo-md .logo-text{font-size:1.5rem}.logo-lg{height:48px}.logo-lg .logo-text{font-size:1.75rem}.logo-icon-text{gap:var(--spacing-sm)}}.logo-icon-image,.logo-image{transition:opacity var(--transition-base)}.logo-icon-image[src=""],.logo-image[src=""]{opacity:0}.theme-selector{position:relative;z-index:1000}.theme-selector--compact{align-items:center;display:flex;gap:12px;gap:var(--space-3,12px)}.theme-selector-swatches{display:flex;gap:4px;gap:var(--space-1,4px)}.theme-swatch{border:2px solid #0000;border-radius:9999px;border-radius:var(--radius-full,9999px);cursor:pointer;height:24px;transition:all .15s ease;width:24px}.theme-swatch:hover{transform:scale(1.1)}.theme-swatch.active{border-color:#f5f5f5;border-color:var(--color-text-primary,#f5f5f5);box-shadow:0 0 0 2px #1a1a1a;box-shadow:0 0 0 2px var(--color-surface,#1a1a1a)}.theme-mode-toggle{align-items:center;background:#333;background:var(--color-surface-overlay,#333);border:none;border-radius:8px;border-radius:var(--radius-default,8px);color:#b3b3b3;color:var(--color-text-secondary,#b3b3b3);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .15s ease;width:40px}.theme-mode-toggle:hover{background:#404040;background:var(--color-surface-hover,#404040)}.theme-mode-toggle:hover,.theme-selector-trigger{color:#f5f5f5;color:var(--color-text-primary,#f5f5f5)}.theme-selector-trigger{align-items:center;background:#1a1a1a;background:var(--color-surface,#1a1a1a);border:1px solid #333;border:1px solid var(--color-border,#333);border-radius:8px;border-radius:var(--radius-default,8px);cursor:pointer;display:flex;font-family:system-ui;font-family:var(--font-family-primary,system-ui);font-size:14px;font-size:var(--text-label,14px);font-weight:600;gap:8px;gap:var(--space-2,8px);padding:8px 12px;padding:var(--space-2,8px) var(--space-3,12px);transition:all .15s ease}.theme-selector-trigger:hover{background:#262626;background:var(--color-surface-elevated,#262626);border-color:#4d4d4d;border-color:var(--color-border-strong,#4d4d4d)}.theme-trigger-swatch{border-radius:4px;border-radius:var(--radius-sm,4px);flex-shrink:0;height:20px;width:20px}.theme-name{min-width:80px;text-align:left}.theme-arrow{align-items:center;color:#b3b3b3;color:var(--color-text-secondary,#b3b3b3);display:flex;margin-left:auto;transition:transform .15s ease}.theme-arrow.open{transform:rotate(180deg)}.theme-selector-overlay{background:#0000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.theme-selector-dropdown{animation:dropdownSlide .2s ease;background:#262626;background:var(--color-surface-elevated,#262626);border:1px solid #333;border:1px solid var(--color-border,#333);border-radius:12px;border-radius:var(--radius-md,12px);box-shadow:0 10px 40px #00000080;box-shadow:var(--shadow-lg,0 10px 40px #00000080);left:0;min-width:320px;overflow:hidden;position:absolute;top:calc(100% + 8px);top:calc(100% + var(--space-2, 8px));z-index:1001}.app-sidebar__theme-selector .theme-selector-dropdown{animation:dropdownSlideRight .2s ease;bottom:0;left:calc(100% + 8px);top:auto}@keyframes dropdownSlideRight{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.theme-selector-header{align-items:center;background:#333;background:var(--color-surface-overlay,#333);border-bottom:1px solid #333;border-bottom:1px solid var(--color-border,#333);color:#f5f5f5;color:var(--color-text-primary,#f5f5f5);display:flex;font-size:14px;font-size:var(--text-label,14px);font-weight:600;justify-content:space-between;padding:12px 16px;padding:var(--space-3,12px) var(--space-4,16px)}.theme-mode-toggle-inline{align-items:center;background:#1a1a1a;background:var(--color-surface,#1a1a1a);border:1px solid #333;border:1px solid var(--color-border,#333);border-radius:8px;border-radius:var(--radius-default,8px);color:#b3b3b3;color:var(--color-text-secondary,#b3b3b3);cursor:pointer;display:flex;font-size:12px;font-size:var(--text-caption,12px);font-weight:500;gap:4px;gap:var(--space-1,4px);padding:4px 8px;padding:var(--space-1,4px) var(--space-2,8px);transition:all .15s ease}.theme-mode-toggle-inline:hover{background:#262626;background:var(--color-surface-elevated,#262626);color:#f5f5f5;color:var(--color-text-primary,#f5f5f5)}.theme-selector-grid{grid-gap:8px;grid-gap:var(--space-2,8px);display:grid;gap:8px;gap:var(--space-2,8px);grid-template-columns:repeat(2,1fr)}.theme-option,.theme-selector-grid{padding:12px;padding:var(--space-3,12px)}.theme-option{align-items:center;background:#1a1a1a;background:var(--color-surface,#1a1a1a);border:2px solid #333;border:2px solid var(--color-border,#333);border-radius:8px;border-radius:var(--radius-default,8px);cursor:pointer;display:flex;gap:12px;gap:var(--space-3,12px);position:relative;text-align:left;transition:all .15s ease}.theme-option:hover{background:#262626;background:var(--color-surface-elevated,#262626)}.theme-option.active,.theme-option:hover{border-color:#ffcd00;border-color:var(--color-primary-500,#ffcd00)}.theme-option.active{background:#333;background:var(--color-surface-overlay,#333)}.theme-option-preview{border-radius:4px;border-radius:var(--radius-sm,4px);display:flex;flex-direction:column;flex-shrink:0;gap:2px;height:36px;overflow:hidden;width:36px}.theme-color-primary{flex:2 1}.theme-color-surface{flex:1 1}.theme-option-info{flex:1 1;min-width:0}.theme-option-name{color:#f5f5f5;color:var(--color-text-primary,#f5f5f5);font-size:14px;font-size:var(--text-label,14px);font-weight:600}.theme-option-brand,.theme-option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-option-brand{color:#b3b3b3;color:var(--color-text-secondary,#b3b3b3);font-size:12px;font-size:var(--text-caption,12px)}.theme-option-check{align-items:center;background:#22c55e;background:var(--color-success,#22c55e);border-radius:9999px;border-radius:var(--radius-full,9999px);color:#fff;display:flex;height:20px;justify-content:center;position:absolute;right:8px;right:var(--space-2,8px);top:8px;top:var(--space-2,8px);width:20px}@media (max-width:639px){.theme-selector-dropdown{border-radius:16px 16px 0 0;border-radius:var(--radius-lg,16px) var(--radius-lg,16px) 0 0;bottom:0;left:0;max-height:70vh;min-width:100%;overflow-y:auto;position:fixed;right:0;top:auto}.theme-selector-grid{grid-template-columns:1fr}.theme-name{display:none}.theme-selector-trigger{padding:8px;padding:var(--space-2,8px)}}.auth-page{align-items:center;background:linear-gradient(135deg,#00000005 0,#0000000d 100%),var(--color-surface);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:var(--space-5);position:relative}.auth-page:before{background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000005 0,#00000005 4px);bottom:0;content:"";left:0;opacity:.3;pointer-events:none;position:absolute;right:0;top:0}.auth-container{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:480px;padding:var(--space-8);position:relative;width:100%;z-index:1}.auth-container:before{background:linear-gradient(90deg,var(--color-primary-500) 0,var(--color-primary-400) 100%);border-radius:var(--radius-xl) var(--radius-xl) 0 0;content:"";height:6px;left:0;position:absolute;right:0;top:0}@media (max-width:639px){.auth-container{box-shadow:var(--shadow-lg);padding:var(--space-6)}}.auth-header{margin-bottom:var(--space-8);position:relative;text-align:center}.auth-logo{align-items:center;display:flex;gap:var(--space-4);justify-content:center;margin-bottom:var(--space-5)}.auth-logo-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:2.5rem}.auth-logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary-500) 0,var(--color-primary-700) 100%);-webkit-background-clip:text;background-clip:text;font-family:var(--font-family-primary);letter-spacing:-.02em;text-shadow:0 2px 4px #0000000d}.auth-logo-text,.auth-title{font-size:2rem;font-weight:700}.auth-title{color:var(--color-text-primary);margin-bottom:var(--space-2)}.auth-subtitle{color:var(--color-text-secondary);font-size:1rem;font-weight:400;margin-bottom:0}@media (max-width:639px){.auth-logo-icon{font-size:2rem}.auth-logo-text,.auth-title{font-size:1.5rem}.auth-subtitle{font-size:.875rem}}.auth-form{margin-bottom:var(--space-6)}.auth-form .form-group{margin-bottom:var(--space-4)}.auth-form label{color:var(--color-text-primary);display:block;font-size:var(--text-label);font-weight:500;margin-bottom:var(--space-2)}.auth-form input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-body);padding:var(--space-4);transition:border-color .15s ease,box-shadow .15s ease;width:100%}.auth-form input::placeholder{color:var(--color-text-disabled)}.auth-form input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #ffcd0033;outline:none}.auth-form input:disabled{cursor:not-allowed;opacity:.6}.form-error{margin-top:var(--space-1)}.auth-submit{align-items:center;background:var(--color-primary-500);border:none;border-radius:var(--radius-md);color:var(--color-text-inverse);cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:var(--space-2);justify-content:center;overflow:hidden;padding:var(--space-4) var(--space-6);position:relative;transition:background-color .15s ease,transform .1s ease;width:100%}.auth-submit:hover{background:var(--color-primary-600)}.auth-submit:active{transform:translateY(1px)}.auth-submit:disabled{cursor:not-allowed;opacity:.6}.auth-submit:after{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.auth-submit:hover:after{height:300px;width:300px}.spinner-sm{animation:spin .8s linear infinite;border:2px solid #0003;border-radius:50%;border-top:2px solid var(--color-text-inverse);display:inline-block;height:16px;width:16px}.auth-footer{border-top:1px solid var(--color-border);padding-top:var(--space-5);text-align:center}.auth-footer p{color:var(--color-text-secondary);font-size:.875rem;margin:0}.auth-link{color:var(--color-primary-500);font-weight:600;position:relative;text-decoration:none;transition:color .15s ease}.auth-link:after{background:var(--color-primary-500);bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transition:transform .2s ease}.auth-link:hover{color:var(--color-primary-400)}.auth-link:hover:after{transform:scaleX(1)}.auth-theme-selector{position:absolute;right:var(--space-5);top:var(--space-5);z-index:10}@media (max-width:639px){.auth-theme-selector{bottom:var(--space-5);left:var(--space-5);position:fixed;right:var(--space-5);top:auto}.auth-theme-selector .theme-selector-trigger{justify-content:center;width:100%}}.dashboard{width:100%}.dashboard__header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.dashboard__title-group{align-items:baseline;display:flex;gap:12px}.dashboard__title{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;margin:0}.dashboard__date{color:var(--color-text-secondary);font-size:.8125rem}.dashboard__actions{display:flex;gap:8px}@media (max-width:639px){.dashboard__header{align-items:flex-start;flex-direction:column}}.dashboard__error,.dashboard__loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:48px 24px;text-align:center}.dashboard__error p,.dashboard__loading p{color:var(--color-text-secondary);margin:0}.dashboard__kpis{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}@media (max-width:1024px){.dashboard__kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.dashboard__kpis{grid-template-columns:1fr}}.metric-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;gap:12px;overflow:hidden;padding:14px;position:relative;transition:all .15s ease}.metric-card:before{background:var(--color-primary-500);content:"";height:2px;left:0;position:absolute;right:0;top:0}.metric-card--success:before{background:var(--color-success)}.metric-card--warning:before{background:var(--color-warning)}.metric-card--error:before{background:var(--color-error)}.metric-card--info:before{background:var(--color-info)}.metric-card:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.metric-card__icon{flex-shrink:0;font-size:1.5rem;line-height:1}.metric-card__content{flex:1 1;min-width:0}.metric-card__label{color:var(--color-text-secondary);display:block;font-size:.6875rem;font-weight:600;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.metric-card__value{color:var(--color-text-primary);display:block;font-size:1.375rem;font-weight:700;line-height:1.2}.metric-card__subvalue{color:var(--color-text-secondary);display:block;font-size:.75rem;margin-top:2px}.metric-card__trend{display:inline-block;font-size:.6875rem;font-weight:600;margin-top:4px}.metric-card__trend.positive{color:var(--color-success)}.metric-card__trend.negative{color:var(--color-error)}.dashboard__grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.dashboard__section--projects{grid-column:1;grid-row:1/3}.dashboard__section--finances{grid-column:2;grid-row:1}.dashboard__section--actions{grid-column:2;grid-row:2}@media (max-width:900px){.dashboard__grid{grid-template-columns:1fr}.dashboard__section--actions,.dashboard__section--finances,.dashboard__section--projects{grid-column:1;grid-row:auto}}.dashboard__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:16px}.section-header{margin-bottom:14px}.section-header__title{align-items:center;display:flex;font-size:.9375rem;font-weight:600;gap:8px;margin:0}.section-header__count{background:var(--color-primary-500);border-radius:10px;color:var(--color-text-inverse);font-size:.6875rem;font-weight:700;height:20px;min-width:20px;padding:0 6px}.section-header__link{color:var(--color-primary-500);font-size:.75rem;font-weight:500;text-decoration:none;transition:color .15s ease}.section-header__link:hover{color:var(--color-primary-600)}.circular-progress{align-items:center;display:inline-flex;justify-content:center;position:relative}.circular-progress svg{transform:rotate(-90deg)}.circular-progress__bg{fill:none;stroke:var(--color-border)}.circular-progress__fill{fill:none;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.circular-progress__content{align-items:center;display:flex;flex-direction:column;justify-content:center;position:absolute;text-align:center}.circular-progress__value{color:var(--color-text-primary);font-size:.9375rem;font-weight:700;line-height:1}.circular-progress__label{color:var(--color-text-secondary);font-size:.625rem;letter-spacing:.02em;margin-top:2px;text-transform:uppercase}.progress-bar{margin-bottom:10px}.progress-bar:last-child{margin-bottom:0}.progress-bar__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.progress-bar__label{color:var(--color-text-secondary);font-size:.75rem}.progress-bar__value{color:var(--color-text-primary);font-size:.75rem;font-weight:600}.progress-bar__track{background:var(--color-border);border-radius:3px;height:6px;overflow:hidden}.progress-bar--sm .progress-bar__track{height:4px}.progress-bar__fill{border-radius:3px;transition:width .5s ease}.project-stats{border-bottom:1px solid var(--color-border);margin-bottom:16px;padding-bottom:16px}.project-stats__gauges{align-items:center;display:flex;gap:20px}.project-stats__breakdown{flex:1 1}.stat-row{align-items:center;display:flex;gap:8px;padding:4px 0}.stat-row__dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.stat-row__label{color:var(--color-text-secondary);flex:1 1;font-size:.75rem}.stat-row__value{color:var(--color-text-primary);font-size:.875rem;font-weight:600}.project-list{display:flex;flex-direction:column;gap:2px}.project-item{align-items:center;border-radius:6px;display:flex;gap:12px;justify-content:space-between;margin:0 -12px;padding:10px 12px;text-decoration:none;transition:background .12s ease}.project-item:hover{background:var(--color-surface-elevated)}.project-item__main{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.project-item__status{border-radius:50%;flex-shrink:0;height:8px;width:8px}.project-item__info{min-width:0}.project-item__name{color:var(--color-text-primary);font-size:.8125rem;font-weight:500}.project-item__address,.project-item__name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item__address{color:var(--color-text-secondary);font-size:.6875rem}.project-item__meta{flex-shrink:0}.project-item__budget{color:var(--color-primary-500);font-size:.8125rem;font-weight:600}.finance-gauge{align-items:center;display:flex;gap:20px;margin-bottom:16px}.finance-gauge__details{flex:1 1}.finance-gauge__row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:6px 0}.finance-gauge__row:last-child{border-bottom:none}.finance-gauge__row--total{border-top:1px solid var(--color-border-strong);margin-top:4px;padding-top:8px}.finance-gauge__label{color:var(--color-text-secondary);font-size:.75rem}.finance-gauge__value{color:var(--color-text-primary);font-size:.875rem;font-weight:600}.finance-gauge__value.positive{color:var(--color-success)}.finance-gauge__value.negative{color:var(--color-error)}.finance-gauge__row--total .finance-gauge__label,.finance-gauge__row--total .finance-gauge__value{font-weight:700}.monthly-breakdown{border-top:1px solid var(--color-border);padding-top:12px}.monthly-breakdown__title{color:var(--color-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.quick-actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.quick-action{align-items:center;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;gap:6px;justify-content:center;padding:14px 10px;text-decoration:none;transition:all .15s ease}.quick-action:hover{background:var(--color-primary-500);border-color:var(--color-primary-500)}.quick-action:hover .quick-action__label{color:var(--color-text-inverse)}.quick-action__icon{font-size:1.25rem;line-height:1}.quick-action__label{color:var(--color-text-secondary);font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-align:center;text-transform:uppercase;transition:color .15s ease}.empty-state{padding:24px;text-align:center}.empty-state p{color:var(--color-text-secondary);font-size:.8125rem;margin:0 0 12px}.btn{border:1px solid #0000;border-radius:6px;font-size:.8125rem;font-weight:600;gap:6px;padding:8px 16px}.btn-sm{padding:6px 12px}.btn-primary{border-color:var(--color-primary-500)}.btn-primary:hover{background:var(--color-primary-600);border-color:var(--color-primary-600)}.btn-outline{border-color:var(--color-border-strong)}.btn-outline:hover{background:var(--color-surface-elevated);border-color:var(--color-text-secondary)}.spinner{border:3px solid var(--color-border);height:32px;width:32px}.projects-page,.quotes-page,.subcontractors-page,.transactions-page{width:100%}.page-header{align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.page-header h1{margin-bottom:var(--spacing-xs)}.page-subtitle{color:var(--steel);font-size:1.125rem;margin:0}@media (max-width:639px){.page-header{flex-direction:column}.page-header button{width:100%}.page-subtitle{font-size:1rem}}.page-loading{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-2xl)}.page-loading p{color:var(--steel);font-family:var(--font-display);font-weight:600}.projects-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media (max-width:639px){.projects-grid{grid-template-columns:1fr}}.projects-grid-card{background:var(--white);border:1px solid var(--concrete-dark);border-radius:4px;box-shadow:var(--shadow-brutal-sm);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);transition:all var(--transition-base)}.projects-grid-card:hover{box-shadow:none;transform:translate(2px,2px)}.projects-grid-card-link{color:inherit;cursor:pointer;display:block;text-decoration:none}.projects-grid-card-link:hover{color:inherit}.projects-grid-card-header{align-items:flex-start;border-bottom:2px solid var(--concrete-dark);display:flex;gap:var(--spacing-md);justify-content:space-between;padding-bottom:var(--spacing-sm)}.projects-grid-card-header h3{font-size:1.25rem;margin:0}.status-badge{background:var(--concrete);border:2px solid var(--black);font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase;white-space:nowrap}.status-active{background:var(--success);border-color:var(--success);color:var(--white)}.status-pending{background:var(--warning);border-color:var(--warning);color:var(--white)}.status-completed{background:var(--steel);border-color:var(--steel);color:var(--white)}.status-cancelled{background:var(--error);border-color:var(--error);color:var(--white)}.status-received{background:var(--info);border-color:var(--info);color:var(--white)}.status-approved{background:var(--success);border-color:var(--success);color:var(--white)}.status-rejected{background:var(--error);border-color:var(--error);color:var(--white)}.status-expired{background:var(--gray-500);border-color:var(--gray-500);color:var(--white)}.projects-grid-card-body{flex:1 1}.project-detail{color:var(--steel-dark);font-size:.875rem;margin-bottom:var(--spacing-sm)}.project-detail strong{color:var(--steel);font-weight:600}.projects-grid-card-footer{border-top:2px solid var(--concrete-dark);display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-sm)}.projects-grid-card-footer button{flex:1 1}.modal-overlay{align-items:center;background:#1a202ccc;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:var(--spacing-md);position:fixed;right:0;top:0;z-index:1000}.modal{background:var(--white);border:3px solid var(--black);box-shadow:var(--shadow-brutal-lg);display:flex;flex-direction:column;max-height:90vh;max-width:600px}@media (max-width:639px){.modal{max-width:100%}}.modal-header{align-items:center;background:var(--concrete);border-bottom:2px solid var(--black);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg)}.modal-header h2{font-size:1.5rem;margin:0}.modal-close{align-items:center;background:#0000;border:none;color:var(--steel-dark);cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.modal-close:hover{box-shadow:none;color:var(--error);transform:none}.modal-form{flex:1 1;min-height:0;overflow-y:auto;padding:var(--spacing-lg)}.form-row{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr)}@media (max-width:639px){.form-row{grid-template-columns:1fr}}textarea{font-family:var(--font-body);min-height:80px;resize:vertical}.modal-footer{border-top:2px solid var(--concrete-dark);display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}@media (max-width:639px){.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}.table-container{margin-bottom:var(--spacing-lg);overflow-x:auto}.data-table{background:var(--white);border:2px solid var(--black);border-collapse:collapse;font-size:.875rem;width:100%}.data-table thead{background:var(--concrete);border-bottom:2px solid var(--black)}.data-table th{font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:var(--spacing-md);text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{border-bottom:1px solid var(--concrete-dark);padding:var(--spacing-md)}.data-table tbody tr:hover{background:var(--gray-50)}.table-actions{display:flex;gap:var(--spacing-xs)}.table-actions button{font-size:.75rem;padding:.25rem .5rem}@media (max-width:768px){.data-table{font-size:.75rem}.data-table td,.data-table th{padding:var(--spacing-sm)}}.project-detail-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:var(--spacing-xl)}.detail-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg)}.detail-card h3{border-bottom:2px solid var(--color-primary);color:var(--color-primary);font-size:1.25rem;margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm)}.detail-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.detail-item{align-items:center;border-bottom:1px solid var(--color-divider);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.detail-item:last-child{border-bottom:none}.detail-item strong{color:var(--color-text-secondary);font-size:.875rem;letter-spacing:.05em;text-transform:uppercase}.detail-item span{color:var(--color-text-primary);font-weight:500;text-align:right}.profile-page{width:100%}.profile-tabs{border-bottom:2px solid var(--color-border-light);margin-bottom:var(--spacing-xl);overflow-x:auto}.profile-tab,.profile-tabs{display:flex;gap:var(--spacing-xs)}.profile-tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-display);font-size:.875rem;font-weight:600;padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-base);white-space:nowrap}.profile-tab-active,.profile-tab:hover{background:var(--color-surface-alt);color:var(--color-primary)}.profile-tab-active{border-bottom-color:var(--color-primary)}@media (max-width:639px){.profile-tabs{gap:0}.profile-tab{flex:1 1;font-size:.75rem;justify-content:center;padding:var(--spacing-sm) var(--spacing-md)}}.profile-content{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl)}@media (max-width:639px){.profile-content{padding:var(--spacing-lg)}}.profile-section h2{border-bottom:2px solid var(--color-border-light);color:var(--color-text-primary);font-size:1.5rem;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.profile-form{max-width:600px}.profile-form .form-group{margin-bottom:var(--spacing-lg)}.profile-form label{color:var(--color-text-primary);display:block;font-family:var(--font-display);font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-xs)}.profile-form input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base);width:100%}.profile-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #ff73331a;outline:none}.profile-form input:disabled{background:var(--color-surface-alt);color:var(--color-text-secondary);cursor:not-allowed}.form-help{color:var(--color-text-secondary);display:block;font-size:.75rem;font-style:italic;margin-top:var(--spacing-xs)}.form-actions{border-top:1px solid var(--color-border-light);display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}@media (max-width:639px){.form-actions{flex-direction:column}.form-actions button{width:100%}}.preference-group{border-bottom:1px solid var(--color-border-light);margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-xl)}.preference-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.preference-header h3{color:var(--color-text-primary);font-size:1.125rem;margin-bottom:var(--spacing-xs)}.preference-description{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:var(--spacing-md)}.preference-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.checkbox-label{align-items:center;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:var(--spacing-sm);padding:var(--spacing-sm);transition:all var(--transition-fast)}.checkbox-label:hover{background:var(--color-surface-alt)}.checkbox-label input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:18px;width:18px}.checkbox-label span{flex:1 1}.app-layout{--sidebar-width:220px;--sidebar-collapsed-width:64px;--header-height:52px;--bottom-nav-height:56px;background:#0d0d0d;background:var(--color-background,#0d0d0d);min-height:100vh}.app-sidebar{background:#1a1a1a;background:var(--color-surface,#1a1a1a);border-right:1px solid #2d2d2d;border-right:1px solid var(--color-border,#2d2d2d);display:none;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:width .2s ease;width:var(--sidebar-width);z-index:100}.app-sidebar--collapsed{width:var(--sidebar-collapsed-width)}@media (min-width:1024px){.app-sidebar{display:flex}}.app-sidebar__header{align-items:center;border-bottom:1px solid #2d2d2d;border-bottom:1px solid var(--color-border,#2d2d2d);display:flex;justify-content:space-between;min-height:64px;padding:16px 12px}.app-sidebar__header .logo{height:32px;max-height:32px}.app-sidebar__header .logo-icon-image{height:32px;max-height:32px;width:auto}.app-sidebar--collapsed .app-sidebar__header{justify-content:center;padding:12px 8px}.app-sidebar__toggle{align-items:center;background:#0000;border:none;border-radius:4px;color:#999;color:var(--color-text-secondary,#999);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s ease;width:28px}.app-sidebar__toggle:hover{background:#262626;background:var(--color-surface-elevated,#262626);color:#fff;color:var(--color-text-primary,#fff)}.app-sidebar__toggle svg{height:16px;width:16px}.app-sidebar--collapsed .app-sidebar__toggle{display:none}.app-sidebar__nav{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:8px}.app-sidebar__link{align-items:center;border-radius:6px;color:#999;color:var(--color-text-secondary,#999);display:flex;font-size:13px;font-weight:500;gap:10px;margin-bottom:2px;padding:8px 10px;text-decoration:none;transition:all .12s ease;white-space:nowrap}.app-sidebar__link:hover{background:#262626;background:var(--color-surface-elevated,#262626);color:#fff;color:var(--color-text-primary,#fff)}.app-sidebar__link--active{background:#ffcd00;background:var(--color-primary-500,#ffcd00);color:#1a1a1a;color:var(--color-text-inverse,#1a1a1a)}.app-sidebar__link--active:hover{background:#e6b800;background:var(--color-primary-600,#e6b800);color:#1a1a1a;color:var(--color-text-inverse,#1a1a1a)}.app-sidebar__link--secondary{color:#666;color:var(--color-text-disabled,#666);font-size:12px;padding:6px 10px}.app-sidebar__link--secondary:hover{color:#999;color:var(--color-text-secondary,#999)}.app-sidebar__link-icon{flex-shrink:0;height:18px;width:18px}.app-sidebar__link-icon svg{height:100%;width:100%}.app-sidebar__link-label{flex:1 1;overflow:hidden;text-overflow:ellipsis}.app-sidebar__link-badge{background:#f44336;background:var(--color-error,#f44336);border-radius:10px;color:#fff;font-size:10px;font-weight:700;min-width:18px;padding:2px 6px;text-align:center}.app-sidebar--collapsed .app-sidebar__link{justify-content:center;padding:10px}.app-sidebar--collapsed .app-sidebar__link-badge,.app-sidebar--collapsed .app-sidebar__link-label{display:none}.app-sidebar--collapsed .app-sidebar__link-icon{height:20px;width:20px}.app-sidebar__divider{background:#2d2d2d;background:var(--color-border,#2d2d2d);height:1px;margin:8px 0}.app-sidebar__footer{border-top:1px solid #2d2d2d;border-top:1px solid var(--color-border,#2d2d2d);padding:8px}.app-sidebar__theme-row{margin-top:8px}.app-sidebar__mode-toggle{align-items:center;background:#262626;background:var(--color-surface-elevated,#262626);border:1px solid #2d2d2d;border:1px solid var(--color-border,#2d2d2d);border-radius:6px;color:#999;color:var(--color-text-secondary,#999);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;padding:8px 10px;transition:all .15s ease;width:100%}.app-sidebar__mode-toggle:hover{background:#ffcd00;background:var(--color-primary-500,#ffcd00);border-color:#ffcd00;border-color:var(--color-primary-500,#ffcd00);color:#1a1a1a;color:var(--color-text-inverse,#1a1a1a)}.app-sidebar--collapsed .app-sidebar__mode-toggle{justify-content:center;padding:10px}.app-sidebar__user{align-items:center;border-radius:6px;color:#999;color:var(--color-text-secondary,#999);display:flex;font-size:13px;font-weight:500;gap:10px;margin-bottom:8px;padding:8px 10px;text-decoration:none;transition:all .12s ease}.app-sidebar__user:hover{background:#262626;background:var(--color-surface-elevated,#262626);color:#fff;color:var(--color-text-primary,#fff)}.app-sidebar__user--active,.app-sidebar__user-avatar{background:#ffcd00;background:var(--color-primary-500,#ffcd00);color:#1a1a1a;color:var(--color-text-inverse,#1a1a1a)}.app-sidebar__user-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.app-sidebar__user-avatar svg{height:16px;width:16px}.app-sidebar__user-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar--collapsed .app-sidebar__user{justify-content:center;padding:8px}.app-sidebar--collapsed .app-sidebar__user-name{display:none}.app-sidebar__theme-selector{margin:8px 0}.app-sidebar__theme-selector .theme-selector{width:100%}.app-sidebar__theme-selector .theme-selector-trigger{background:#262626;background:var(--color-surface-elevated,#262626)}.app-sidebar__logout,.app-sidebar__theme-selector .theme-selector-trigger{border:1px solid #2d2d2d;border:1px solid var(--color-border,#2d2d2d);border-radius:6px;font-size:13px;padding:8px 10px;width:100%}.app-sidebar__logout{align-items:center;background:#0000;color:#999;color:var(--color-text-secondary,#999);cursor:pointer;display:flex;font-weight:500;gap:10px;margin-top:8px;transition:all .15s ease}.app-sidebar__logout:hover{background:#f44336;background:var(--color-error,#f44336);border-color:#f44336;border-color:var(--color-error,#f44336);color:#fff}.app-sidebar__logout-icon{flex-shrink:0;height:18px;width:18px}.app-sidebar__logout-icon svg{height:100%;width:100%}.app-sidebar__logout-label{flex:1 1;text-align:left}.app-sidebar--collapsed .app-sidebar__logout{justify-content:center;padding:10px}.app-sidebar--collapsed .app-sidebar__logout-label{display:none}.app-header{align-items:center;background:#1a1a1a;background:var(--color-surface,#1a1a1a);border-bottom:1px solid #2d2d2d;border-bottom:1px solid var(--color-border,#2d2d2d);display:flex;height:var(--header-height);justify-content:space-between;left:0;min-height:var(--header-height);overflow:visible;padding:0 12px;position:fixed;right:0;top:0;z-index:100}@media (min-width:1024px){.app-header{display:none}}.app-header__title{color:#fff;color:var(--color-text-primary,#fff);font-size:16px;font-weight:600;left:50%;position:absolute;transform:translateX(-50%)}.app-header__actions{align-items:center;display:flex;gap:8px}.app-header__mode-toggle{align-items:center;background:#262626;background:var(--color-surface-elevated,#262626);border:1px solid #2d2d2d;border:1px solid var(--color-border,#2d2d2d);border-radius:8px;color:#999;color:var(--color-text-secondary,#999);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .15s ease;width:36px}.app-header__mode-toggle:hover{background:#ffcd00;background:var(--color-primary-500,#ffcd00);border-color:#ffcd00;border-color:var(--color-primary-500,#ffcd00);color:#1a1a1a;color:var(--color-text-inverse,#1a1a1a)}.app-main{min-height:100vh;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom, 0px));padding-top:var(--header-height)}@media (min-width:1024px){.app-main{margin-left:var(--sidebar-width);padding-bottom:0;padding-top:0;transition:margin-left .2s ease}.app-layout--collapsed .app-main{margin-left:var(--sidebar-collapsed-width)}}.app-content{margin:0 auto;max-width:1400px;padding:16px}@media (min-width:1024px){.app-content{padding:20px 24px}}@media (min-width:1440px){.app-content{padding:24px 32px}}.app-bottom-nav{background:#1a1a1a;background:var(--color-surface,#1a1a1a);border-top:1px solid #2d2d2d;border-top:1px solid var(--color-border,#2d2d2d);bottom:0;display:grid;grid-template-columns:repeat(5,1fr);left:0;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:100}@media (min-width:1024px){.app-bottom-nav{display:none}}.app-bottom-nav__item{-webkit-tap-highlight-color:transparent;align-items:center;color:#999;color:var(--color-text-secondary,#999);display:flex;flex-direction:column;justify-content:center;min-height:var(--bottom-nav-height);padding:6px 4px;text-decoration:none;transition:color .12s ease}.app-bottom-nav__item:active{background:#262626;background:var(--color-surface-elevated,#262626)}.app-bottom-nav__item--active{color:#ffcd00;color:var(--color-primary-500,#ffcd00)}.app-bottom-nav__icon{height:22px;margin-bottom:2px;width:22px}.app-bottom-nav__icon svg{height:100%;width:100%}.app-bottom-nav__label{font-size:10px;font-weight:600;letter-spacing:.02em}.app-content{animation:pageEnter .2s ease}@keyframes pageEnter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}:root{--color-success:#4caf50;--color-success-light:#4caf5033;--color-warning:#ff9800;--color-warning-light:#ff980033;--color-error:#f44336;--color-error-light:#f4433633;--color-info:#2196f3;--color-info-light:#2196f333;--color-white:#fff;--color-black:#000;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#eee;--color-gray-300:#e0e0e0;--color-gray-400:#bdbdbd;--color-gray-500:#9e9e9e;--color-gray-600:#757575;--color-gray-700:#616161;--color-gray-800:#424242;--color-gray-900:#212121}:root,:root[data-theme=dewalt]{--color-primary-50:#fffde7;--color-primary-100:#fff9c4;--color-primary-200:#fff59d;--color-primary-300:#fff176;--color-primary-400:#ffee58;--color-primary-500:#ffeb3b;--color-primary-600:#fdd835;--color-primary-700:#fbc02d;--color-primary-800:#f9a825;--color-primary-900:#f57f17;--color-secondary-50:#f5f5f5;--color-secondary-100:#e8e8e8;--color-secondary-200:#d1d1d1;--color-secondary-300:#a3a3a3;--color-secondary-400:#6b6b6b;--color-secondary-500:#1a1a1a;--color-secondary-600:#141414;--color-secondary-700:#0d0d0d;--color-secondary-800:#070707;--color-secondary-900:#000;--color-accent:var(--color-primary-500);--color-surface:#1a1a1a;--color-surface-elevated:#242424;--color-surface-overlay:#2d2d2d;--color-surface-hover:#363636;--color-on-surface:#fff;--color-on-surface-variant:#b3b3b3;--color-text-primary:#fff;--color-text-secondary:#b3b3b3;--color-text-disabled:#666;--color-text-inverse:#1a1a1a;--color-border:#2d2d2d;--color-border-strong:#404040;--color-border-focus:var(--color-primary-500)}:root[data-theme=milwaukee]{--color-primary-50:#ffebee;--color-primary-100:#ffcdd2;--color-primary-200:#ef9a9a;--color-primary-300:#e57373;--color-primary-400:#ef5350;--color-primary-500:#e31937;--color-primary-600:#c41230;--color-primary-700:#a60e28;--color-primary-800:#8b0a21;--color-primary-900:#6d0819;--color-accent:var(--color-primary-500)}:root[data-theme=makita]{--color-primary-50:#e0f7f7;--color-primary-100:#b3ebeb;--color-primary-200:#80dede;--color-primary-300:#4dd1d1;--color-primary-400:#26c7c7;--color-primary-500:#00a3a3;--color-primary-600:#008b8b;--color-primary-700:#007373;--color-primary-800:#005b5b;--color-primary-900:#004343;--color-accent:var(--color-primary-500)}:root[data-theme=cobalt]{--color-primary-50:#e3f2fd;--color-primary-100:#bbdefb;--color-primary-200:#90caf9;--color-primary-300:#64b5f6;--color-primary-400:#42a5f5;--color-primary-500:#004990;--color-primary-600:#003d7a;--color-primary-700:#036;--color-primary-800:#002952;--color-primary-900:#001f3d;--color-accent:var(--color-primary-500);--color-surface:#fff;--color-surface-elevated:#f5f5f5;--color-surface-overlay:#eee;--color-surface-hover:#e8e8e8;--color-on-surface:#1a1a1a;--color-on-surface-variant:#666;--color-text-primary:#1a1a1a;--color-text-secondary:#666;--color-text-disabled:#9e9e9e;--color-text-inverse:#fff;--color-border:#e0e0e0;--color-border-strong:#bdbdbd}:root[data-theme=homedepot]{--color-primary-50:#fff3e0;--color-primary-100:#ffe0b2;--color-primary-200:#ffcc80;--color-primary-300:#ffb74d;--color-primary-400:#ffa726;--color-primary-500:#f96302;--color-primary-600:#e55a02;--color-primary-700:#d15202;--color-primary-800:#bd4a02;--color-primary-900:#a94202;--color-accent:var(--color-primary-500)}:root[data-mode=light][data-theme=dewalt],:root[data-mode=light][data-theme=makita],:root[data-mode=light][data-theme=milwaukee],:root[data-theme=homedepot]{--color-surface:#fff;--color-surface-elevated:#f5f5f5;--color-surface-overlay:#eee;--color-surface-hover:#e8e8e8;--color-on-surface:#1a1a1a;--color-on-surface-variant:#666;--color-text-primary:#1a1a1a;--color-text-secondary:#666;--color-text-disabled:#9e9e9e;--color-text-inverse:#fff;--color-border:#e0e0e0;--color-border-strong:#bdbdbd}:root[data-mode=dark][data-theme=cobalt],:root[data-mode=dark][data-theme=homedepot]{--color-surface:#1a1a1a;--color-surface-elevated:#242424;--color-surface-overlay:#2d2d2d;--color-surface-hover:#363636;--color-on-surface:#fff;--color-on-surface-variant:#b3b3b3;--color-text-primary:#fff;--color-text-secondary:#b3b3b3;--color-text-disabled:#666;--color-text-inverse:#1a1a1a;--color-border:#2d2d2d;--color-border-strong:#404040}:root{--font-family-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-family-mono:"JetBrains Mono","SF Mono","Fira Code","Consolas","Monaco",monospace;--font-family-display:var(--font-family-primary);--text-display:3rem;--text-h1:2rem;--text-h2:1.5rem;--text-h3:1.25rem;--text-body-lg:1.125rem;--text-body:1rem;--text-label:0.875rem;--text-caption:0.75rem;--text-amount-xl:3rem;--text-amount-lg:2.5rem;--text-amount:1.75rem;--text-amount-sm:1.25rem;--line-height-display:1.1;--line-height-tight:1.2;--line-height-snug:1.3;--line-height-normal:1.5;--line-height-relaxed:1.6;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--letter-spacing-tight:-0.02em;--letter-spacing-normal:0;--letter-spacing-wide:0.05em;--letter-spacing-wider:0.1em}.text-display{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-family-display);font-size:3rem;font-size:var(--text-display);font-weight:700;font-weight:var(--font-weight-bold);letter-spacing:-.02em;letter-spacing:var(--letter-spacing-tight);line-height:1.1;line-height:var(--line-height-display)}.text-h1{font-size:2rem;font-size:var(--text-h1);font-weight:700;font-weight:var(--font-weight-bold)}.text-h1,.text-h2{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-family-primary);line-height:1.2;line-height:var(--line-height-tight)}.text-h2{font-size:1.5rem;font-size:var(--text-h2)}.text-h2,.text-h3{font-weight:600;font-weight:var(--font-weight-semibold)}.text-h3{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-family-primary);font-size:1.25rem;font-size:var(--text-h3);line-height:1.3;line-height:var(--line-height-snug)}.text-body-lg{font-size:1.125rem;font-size:var(--text-body-lg)}.text-body,.text-body-lg{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-family-primary);font-weight:400;font-weight:var(--font-weight-regular);line-height:1.5;line-height:var(--line-height-normal)}.text-body{font-size:1rem;font-size:var(--text-body)}.text-label{font-size:.875rem;font-size:var(--text-label);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.05em;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.text-caption,.text-label{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-family-primary);line-height:1.3;line-height:var(--line-height-snug)}.text-caption{font-size:.75rem;font-size:var(--text-caption);font-weight:400;font-weight:var(--font-weight-regular)}.text-amount{font-feature-settings:"tnum";font-size:1.75rem;font-size:var(--text-amount);font-variant-numeric:tabular-nums;line-height:1.2;line-height:var(--line-height-tight)}.text-amount,.text-amount-lg{font-family:JetBrains Mono,SF Mono,Fira Code,Consolas,Monaco,monospace;font-family:var(--font-family-mono);font-weight:700;font-weight:var(--font-weight-bold)}.text-amount-lg{font-feature-settings:"tnum";font-size:2.5rem;font-size:var(--text-amount-lg);font-variant-numeric:tabular-nums;line-height:1.1;line-height:var(--line-height-display)}.text-amount-sm{font-feature-settings:"tnum";font-family:JetBrains Mono,SF Mono,Fira Code,Consolas,Monaco,monospace;font-family:var(--font-family-mono);font-size:1.25rem;font-size:var(--text-amount-sm);font-variant-numeric:tabular-nums;font-weight:600;font-weight:var(--font-weight-semibold);line-height:1.3;line-height:var(--line-height-snug)}.text-primary{color:var(--color-text-primary)}.text-disabled{color:var(--color-text-disabled)}.text-accent{color:var(--color-accent)}.font-regular{font-weight:400;font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}:root{--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--space-10:4rem;--space-12:6rem;--space-16:8rem;--touch-min:48px;--touch-comfortable:56px;--touch-large:64px;--radius-default:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0003;--shadow-default:0 2px 4px #0003;--shadow-md:0 4px 8px #0003;--shadow-lg:0 8px 16px #0003;--shadow-xl:0 16px 32px #0003;--shadow-button:0 2px 0;--shadow-button-hover:0 3px 0;--shadow-button-active:0 1px 0;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1536px;--sidebar-width:240px;--header-height:64px;--bottom-nav-height:64px;--content-max-width:1200px}.m-0{margin:0;margin:var(--space-0)}.m-1{margin:.25rem;margin:var(--space-1)}.m-2{margin:.5rem;margin:var(--space-2)}.m-3{margin:.75rem;margin:var(--space-3)}.m-4{margin:1rem;margin:var(--space-4)}.m-5{margin:1.5rem;margin:var(--space-5)}.m-6{margin:2rem;margin:var(--space-6)}.m-8{margin:3rem;margin:var(--space-8)}.mt-0{margin-top:var(--space-0)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:.75rem;margin-top:var(--space-3)}.mt-4{margin-top:1rem;margin-top:var(--space-4)}.mt-5{margin-top:1.5rem;margin-top:var(--space-5)}.mt-6{margin-top:2rem;margin-top:var(--space-6)}.mt-8{margin-top:3rem;margin-top:var(--space-8)}.mb-0{margin-bottom:var(--space-0)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:.75rem;margin-bottom:var(--space-3)}.mb-4{margin-bottom:1rem;margin-bottom:var(--space-4)}.mb-5{margin-bottom:1.5rem;margin-bottom:var(--space-5)}.mb-6{margin-bottom:2rem;margin-bottom:var(--space-6)}.mb-8{margin-bottom:3rem;margin-bottom:var(--space-8)}.p-0{padding:var(--space-0)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:.75rem;padding:var(--space-3)}.p-4{padding:1rem;padding:var(--space-4)}.p-5{padding:1.5rem;padding:var(--space-5)}.p-6{padding:2rem;padding:var(--space-6)}.p-8{padding:3rem;padding:var(--space-8)}.px-0{padding-left:0;padding-left:var(--space-0);padding-right:0;padding-right:var(--space-0)}.px-1{padding-left:.25rem;padding-left:var(--space-1);padding-right:.25rem;padding-right:var(--space-1)}.px-2{padding-left:.5rem;padding-left:var(--space-2);padding-right:.5rem;padding-right:var(--space-2)}.px-3{padding-left:.75rem;padding-left:var(--space-3);padding-right:.75rem;padding-right:var(--space-3)}.px-4{padding-left:1rem;padding-left:var(--space-4);padding-right:1rem;padding-right:var(--space-4)}.px-5{padding-left:1.5rem;padding-left:var(--space-5);padding-right:1.5rem;padding-right:var(--space-5)}.px-6{padding-left:2rem;padding-left:var(--space-6);padding-right:2rem;padding-right:var(--space-6)}.py-0{padding-bottom:0;padding-bottom:var(--space-0);padding-top:0;padding-top:var(--space-0)}.py-1{padding-bottom:.25rem;padding-bottom:var(--space-1);padding-top:.25rem;padding-top:var(--space-1)}.py-2{padding-bottom:.5rem;padding-bottom:var(--space-2);padding-top:.5rem;padding-top:var(--space-2)}.py-3{padding-bottom:.75rem;padding-bottom:var(--space-3);padding-top:.75rem;padding-top:var(--space-3)}.py-4{padding-bottom:1rem;padding-bottom:var(--space-4);padding-top:1rem;padding-top:var(--space-4)}.py-5{padding-bottom:1.5rem;padding-bottom:var(--space-5);padding-top:1.5rem;padding-top:var(--space-5)}.py-6{padding-bottom:2rem;padding-bottom:var(--space-6);padding-top:2rem;padding-top:var(--space-6)}.gap-1{gap:.25rem;gap:var(--space-1)}.gap-2{gap:.5rem;gap:var(--space-2)}.gap-3{gap:.75rem;gap:var(--space-3)}.gap-4{gap:1rem;gap:var(--space-4)}.gap-5{gap:1.5rem;gap:var(--space-5)}.gap-6{gap:2rem;gap:var(--space-6)}.gap-8{gap:3rem;gap:var(--space-8)}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}#__next,#root{isolation:isolate}ol[class],ul[class]{list-style:none;padding:0}a{text-decoration:none}a,button{color:inherit}button{background:none;border:none;cursor:pointer;font:inherit;padding:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:focus{outline:none}:focus-visible{outline:3px solid var(--color-primary-500);outline-offset:2px}::selection{background:var(--color-primary-500);color:var(--color-text-inverse)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-surface-overlay);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}*{scrollbar-color:var(--color-surface-overlay) var(--color-surface);scrollbar-width:thin}html{scroll-behavior:smooth}body{background-color:var(--color-surface);font-family:var(--font-family-primary);font-size:var(--text-body)}.h1,h1{font-size:var(--text-h1);font-weight:var(--font-weight-bold)}.h1,.h2,h1,h2{color:var(--color-text-primary);line-height:var(--line-height-tight)}.h2,h2{font-size:var(--text-h2)}.h2,.h3,h2,h3{font-weight:var(--font-weight-semibold)}.h3,h3{color:var(--color-text-primary);font-size:var(--text-h3);line-height:var(--line-height-snug)}p{color:var(--color-text-secondary);font-size:var(--text-body);line-height:var(--line-height-normal)}a{color:var(--color-primary-500);transition:color .15s ease}a:hover{color:var(--color-primary-400)}ol,ul{padding-left:var(--space-5)}li{margin-bottom:var(--space-2)}code{background:var(--color-surface-overlay);border-radius:var(--radius-sm);font-size:.875em;padding:var(--space-1) var(--space-2)}code,pre{font-family:var(--font-family-mono)}pre{background:var(--color-surface-elevated);border-radius:var(--radius-default);font-size:var(--text-label);overflow-x:auto;padding:var(--space-4)}pre code{background:#0000;padding:0}td,th{border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);text-align:left}th{color:var(--color-text-secondary);font-size:var(--text-caption);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide)}hr{background:var(--color-border);border:none;height:1px;margin:var(--space-6) 0}img{height:auto;max-width:100%}.container{max-width:var(--content-max-width);padding:0 var(--space-4)}@media (min-width:768px){.container{padding:0 var(--space-6)}}.page-content{padding:var(--space-4);padding-bottom:calc(var(--bottom-nav-height) + var(--space-4))}@media (min-width:1024px){.page-content{margin-left:var(--sidebar-width);padding:var(--space-8);padding-bottom:var(--space-8)}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.hide-mobile{display:none}@media (min-width:768px){.hide-mobile{display:inline;display:initial}.hide-desktop{display:none}}.flex-1{flex:1 1}.flex-wrap{flex-wrap:wrap}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}.w-full{width:100%}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:-webkit-sticky;position:sticky}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-100{z-index:100}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.transition{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.btn{align-items:center;border:none;border-radius:var(--radius-default);cursor:pointer;display:inline-flex;font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);gap:var(--space-2);justify-content:center;letter-spacing:var(--letter-spacing-wide);text-decoration:none;text-transform:uppercase;transition:all .15s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-sm{font-size:var(--text-caption);height:36px;padding:0 var(--space-3)}.btn-md{font-size:var(--text-label);height:44px;padding:0 var(--space-4)}.btn-lg{font-size:var(--text-body);height:56px;min-width:120px;padding:0 var(--space-6)}.btn-primary{background:var(--color-primary-500);box-shadow:var(--shadow-button) var(--color-primary-700);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-primary-600);box-shadow:var(--shadow-button-hover) var(--color-primary-700);transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-button-active) var(--color-primary-700);transform:translateY(1px)}.btn-secondary{background:#0000;border:2px solid var(--color-primary-500);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background:#ffeb3b1a;border-color:var(--color-primary-400)}.btn-secondary:active:not(:disabled){background:#ffeb3b33}.btn-tertiary{background:#0000;color:var(--color-text-secondary)}.btn-tertiary:hover:not(:disabled){background:var(--color-surface-elevated);color:var(--color-text-primary)}.btn-danger{background:var(--color-error);box-shadow:var(--shadow-button) #b71c1c;color:var(--color-white)}.btn-danger:hover:not(:disabled){background:#d32f2f;box-shadow:var(--shadow-button-hover) #b71c1c;transform:translateY(-1px)}.btn-danger:active:not(:disabled){box-shadow:var(--shadow-button-active) #b71c1c;transform:translateY(1px)}.btn-success{background:var(--color-success);box-shadow:var(--shadow-button) #2e7d32;color:var(--color-white)}.btn-success:hover:not(:disabled){background:#43a047;transform:translateY(-1px)}.btn-icon{background:#0000;border-radius:var(--radius-default);color:var(--color-text-secondary);height:48px;padding:0;width:48px}.btn-icon:hover:not(:disabled){background:var(--color-surface-elevated);color:var(--color-text-primary)}.btn-icon-sm{height:36px;width:36px}.btn-icon-lg{height:56px;width:56px}.btn-block{width:100%}.btn .btn-icon-left,.btn .btn-icon-right,.btn svg{flex-shrink:0;height:20px;width:20px}.btn-sm svg{height:16px;width:16px}.btn-lg svg{height:24px;width:24px}.btn-loading{color:#0000;pointer-events:none;position:relative}.btn-loading:after{animation:btn-spinner .6s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;content:"";height:20px;position:absolute;width:20px}.btn-primary.btn-loading:after{border-top-color:var(--color-text-inverse)}@keyframes btn-spinner{to{transform:rotate(1turn)}}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-default) 0 0 var(--radius-default)}.btn-group .btn:last-child{border-radius:0 var(--radius-default) var(--radius-default) 0}.btn-group .btn:not(:last-child){border-right:1px solid var(--color-primary-700)}.btn-chip{background:var(--color-surface-elevated);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--text-caption);font-weight:var(--font-weight-medium);height:32px;letter-spacing:normal;padding:0 var(--space-3);text-transform:none}.btn-chip:hover:not(:disabled){background:var(--color-surface-overlay);color:var(--color-text-primary)}.btn-chip.active,.btn-fab{background:var(--color-primary-500);color:var(--color-text-inverse)}.btn-fab{border-radius:var(--radius-full);bottom:calc(var(--bottom-nav-height) + var(--space-4));box-shadow:var(--shadow-lg);height:56px;position:fixed;right:var(--space-4);width:56px;z-index:90}.btn-fab:hover{box-shadow:var(--shadow-xl);transform:scale(1.05)}@media (min-width:1024px){.btn-fab{bottom:var(--space-8);right:var(--space-8)}}.card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .15s ease,box-shadow .15s ease}.card-clickable{cursor:pointer}.card-clickable:hover{border-color:var(--color-primary-500)}.card-clickable:active{background:var(--color-surface-overlay)}.card-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-5)}.card-body{padding:var(--space-5)}.card-footer{align-items:center;background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;gap:var(--space-3);justify-content:flex-end;padding:var(--space-4) var(--space-5)}.stat-card{background:var(--color-surface-elevated);border-left:4px solid var(--color-primary-500);border-radius:var(--radius-md);padding:var(--space-5)}.stat-card--success{border-left-color:var(--color-success)}.stat-card--warning{border-left-color:var(--color-warning)}.stat-card--error{border-left-color:var(--color-error)}.stat-card__label{color:var(--color-text-secondary);display:block;font-size:var(--text-caption);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);margin-bottom:var(--space-2);text-transform:uppercase}.stat-card__value{color:var(--color-text-primary);display:block;font-family:var(--font-family-mono);font-size:var(--text-amount);font-weight:var(--font-weight-bold);line-height:1.2}.stat-card__value--large{font-size:var(--text-amount-lg)}.stat-card__trend{align-items:center;display:inline-flex;font-size:var(--text-label);gap:var(--space-1);margin-top:var(--space-2)}.stat-card__trend--up{color:var(--color-success)}.stat-card__trend--down{color:var(--color-error)}.project-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;padding:var(--space-5);transition:border-color .15s ease}.project-card:hover{border-color:var(--color-primary-500)}.project-card__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.project-card__title{color:var(--color-text-primary);font-size:var(--text-h3);font-weight:var(--font-weight-semibold);margin:0}.project-card__address{color:var(--color-text-secondary);font-size:var(--text-body);margin-top:var(--space-1)}.project-card__progress{margin:var(--space-4) 0}.project-card__financials{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(3,1fr)}.project-card__financial-item{text-align:center}.project-card__financial-label{color:var(--color-text-secondary);display:block;font-size:var(--text-caption);margin-bottom:var(--space-1);text-transform:uppercase}.project-card__financial-value{color:var(--color-text-primary);font-family:var(--font-family-mono);font-size:var(--text-amount-sm);font-weight:var(--font-weight-semibold)}.transaction-card{align-items:center;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--space-4);padding:var(--space-4)}.transaction-card__icon{align-items:center;background:var(--color-surface-overlay);border-radius:var(--radius-default);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.transaction-card__content{flex:1 1;min-width:0}.transaction-card__title{color:var(--color-text-primary);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-card__meta{color:var(--color-text-secondary);font-size:var(--text-label);margin-top:var(--space-1)}.transaction-card__amount{flex-shrink:0;font-family:var(--font-family-mono);font-size:var(--text-amount-sm);font-weight:var(--font-weight-bold);text-align:right}.transaction-card__amount--expense{color:var(--color-error)}.transaction-card__amount--income{color:var(--color-success)}.alert-card{align-items:flex-start;background:var(--color-surface-elevated);border-left:4px solid var(--color-warning);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-4)}.alert-card--info{border-left-color:var(--color-info)}.alert-card--success{border-left-color:var(--color-success)}.alert-card--error{border-left-color:var(--color-error)}.alert-card__icon{color:var(--color-warning);flex-shrink:0;height:24px;width:24px}.alert-card--info .alert-card__icon{color:var(--color-info)}.alert-card--success .alert-card__icon{color:var(--color-success)}.alert-card--error .alert-card__icon{color:var(--color-error)}.alert-card__content{flex:1 1}.alert-card__title{color:var(--color-text-primary);font-weight:var(--font-weight-medium);margin-bottom:var(--space-1)}.alert-card__message{color:var(--color-text-secondary);font-size:var(--text-label)}.conversation-card{padding:var(--space-4)}.conversation-card__header{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.conversation-card__time{color:var(--color-text-secondary);font-size:var(--text-caption)}.conversation-card__channel{color:var(--color-primary-500);font-size:var(--text-caption);text-transform:uppercase}.conversation-card__message{border-radius:var(--radius-md);margin-bottom:var(--space-2);padding:var(--space-3) var(--space-4)}.conversation-card__message--user{background:var(--color-primary-500);color:var(--color-text-inverse);margin-left:var(--space-8)}.conversation-card__message--agent{background:var(--color-surface-elevated);color:var(--color-text-primary);margin-right:var(--space-8)}.empty-state-card{align-items:center;background:var(--color-surface-elevated);border:1px dashed var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;justify-content:center;padding:var(--space-10) var(--space-5);text-align:center}.empty-state-card__icon{color:var(--color-text-disabled);height:64px;margin-bottom:var(--space-4);width:64px}.empty-state-card__title{color:var(--color-text-primary);font-size:var(--text-h3);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.empty-state-card__message{color:var(--color-text-secondary);font-size:var(--text-body);margin-bottom:var(--space-5);max-width:300px}.skeleton-card{background:var(--color-surface-elevated);border-radius:var(--radius-md);overflow:hidden;padding:var(--space-5)}.skeleton{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-surface-overlay) 25%,var(--color-surface-hover) 50%,var(--color-surface-overlay) 75%);background-size:200% 100%;border-radius:var(--radius-sm)}.skeleton-text{height:16px;margin-bottom:var(--space-2)}.skeleton-text:last-child{width:60%}.skeleton-heading{height:24px;margin-bottom:var(--space-4);width:50%}.skeleton-amount{height:40px;width:40%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.form-group{margin-bottom:var(--space-5)}.form-label{color:var(--color-text-secondary);display:block;font-size:var(--text-caption);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-2);text-transform:uppercase}.form-label--required:after{color:var(--color-error);content:" *"}.form-input{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-default);color:var(--color-text-primary);font-family:var(--font-family-primary);font-size:var(--text-body);height:48px;padding:0 var(--space-4);transition:border-color .15s ease,background-color .15s ease;width:100%}.form-input::placeholder{color:var(--color-text-disabled)}.form-input:hover:not(:disabled){border-color:var(--color-border-strong)}.form-input:focus{background:var(--color-surface-elevated);border-color:var(--color-primary-500);outline:none}.form-input:disabled{background:var(--color-surface-overlay);color:var(--color-text-disabled);cursor:not-allowed}.form-input--error{background:#f443360d;border-color:var(--color-error)}.form-input--success{border-color:var(--color-success)}.form-input--amount{font-family:var(--font-family-mono);font-size:var(--text-h3);font-weight:var(--font-weight-bold);height:56px;padding-left:40px;text-align:right}.form-input-wrapper--amount{position:relative}.form-input-wrapper--amount:before{color:var(--color-text-secondary);content:"$";font-family:var(--font-family-mono);font-size:var(--text-h3);font-weight:var(--font-weight-bold);left:var(--space-4);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.form-textarea{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-default);color:var(--color-text-primary);font-family:var(--font-family-primary);font-size:var(--text-body);min-height:120px;padding:var(--space-3) var(--space-4);resize:vertical;transition:border-color .15s ease;width:100%}.form-textarea:focus{border-color:var(--color-primary-500);outline:none}.form-select{-webkit-appearance:none;appearance:none;background:var(--color-surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23B3B3B3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:20px;border:2px solid var(--color-border);border-radius:var(--radius-default);color:var(--color-text-primary);cursor:pointer;font-family:var(--font-family-primary);font-size:var(--text-body);height:48px;padding:0 var(--space-10) 0 var(--space-4);width:100%}.form-select:focus{border-color:var(--color-primary-500);outline:none}.form-checkbox-wrapper{align-items:center;cursor:pointer;display:flex;gap:var(--space-3)}.form-checkbox{-webkit-appearance:none;appearance:none;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;height:24px;position:relative;transition:all .15s ease;width:24px}.form-checkbox:checked,.form-checkbox:hover{border-color:var(--color-primary-500)}.form-checkbox:checked{background:var(--color-primary-500)}.form-checkbox:checked:after{border:solid var(--color-text-inverse);border-width:0 2px 2px 0;content:"";height:12px;left:7px;position:absolute;top:3px;transform:rotate(45deg);width:6px}.form-checkbox:focus-visible{outline:3px solid var(--color-primary-500);outline-offset:2px}.form-checkbox-label{color:var(--color-text-primary);font-size:var(--text-body);-webkit-user-select:none;user-select:none}.form-radio-wrapper{align-items:center;cursor:pointer;display:flex;gap:var(--space-3)}.form-radio{-webkit-appearance:none;appearance:none;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;flex-shrink:0;height:24px;position:relative;transition:all .15s ease;width:24px}.form-radio:checked,.form-radio:hover{border-color:var(--color-primary-500)}.form-radio:checked:after{background:var(--color-primary-500);border-radius:var(--radius-full);content:"";height:12px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:12px}.form-toggle-wrapper{align-items:center;cursor:pointer;display:flex;gap:var(--space-3)}.form-toggle{-webkit-appearance:none;appearance:none;background:var(--color-surface-overlay);cursor:pointer;flex-shrink:0;height:28px;position:relative;transition:background .2s ease;width:48px}.form-toggle,.form-toggle:after{border-radius:var(--radius-full)}.form-toggle:after{background:var(--color-white);content:"";height:20px;left:4px;position:absolute;top:4px;transition:transform .2s ease;width:20px}.form-toggle:checked{background:var(--color-primary-500)}.form-toggle:checked:after{transform:translateX(20px)}.form-helper{color:var(--color-text-secondary)}.form-error,.form-helper{font-size:var(--text-caption);margin-top:var(--space-2)}.form-error{gap:var(--space-1)}.form-error,.form-error:before{align-items:center;display:flex}.form-error:before{background:var(--color-error);border-radius:var(--radius-full);color:var(--color-white);content:"!";font-size:10px;font-weight:var(--font-weight-bold);height:16px;justify-content:center;width:16px}.form-search{position:relative}.form-search .form-input{padding-left:44px}.form-search__icon{color:var(--color-text-secondary);height:20px;left:var(--space-4);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:20px}.form-input-group{display:flex}.form-input-group .form-input{border-radius:var(--radius-default) 0 0 var(--radius-default);border-right:none}.form-input-group .btn{border-radius:0 var(--radius-default) var(--radius-default) 0}.form-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.form-suggestion{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-caption);padding:var(--space-1) var(--space-3);transition:all .15s ease}.form-suggestion:hover{background:var(--color-surface-overlay);border-color:var(--color-primary-500);color:var(--color-text-primary)}.form-category-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.form-category{background:var(--color-surface-elevated);border:2px solid var(--color-border);border-radius:var(--radius-default);color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-label);font-weight:var(--font-weight-medium);padding:var(--space-2) var(--space-4);transition:all .15s ease}.form-category:hover{border-color:var(--color-primary-500);color:var(--color-text-primary)}.form-category.active,.form-category:checked{background:var(--color-primary-500);border-color:var(--color-primary-500);color:var(--color-text-inverse)}.header{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;height:var(--header-height);justify-content:space-between;left:0;padding:0 var(--space-4);position:fixed;right:0;top:0;z-index:100}.header__logo{height:32px;width:auto}.header__title{color:var(--color-text-primary);font-size:var(--text-h3);font-weight:var(--font-weight-semibold)}.header__actions{align-items:center;display:flex;gap:var(--space-2)}@media (min-width:1024px){.header{left:var(--sidebar-width);padding:0 var(--space-6)}}.bottom-nav{background:var(--color-surface);border-top:1px solid var(--color-border);bottom:0;display:grid;grid-template-columns:repeat(4,1fr);left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:100}.bottom-nav__item{-webkit-tap-highlight-color:transparent;align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;min-height:var(--bottom-nav-height);padding:var(--space-2);text-decoration:none;transition:color .15s ease}.bottom-nav__item:active{background:var(--color-surface-elevated)}.bottom-nav__item--active{color:var(--color-primary-500)}.bottom-nav__icon{height:24px;margin-bottom:var(--space-1);width:24px}.bottom-nav__label{font-size:var(--text-caption);font-weight:var(--font-weight-medium)}@media (min-width:1024px){.bottom-nav{display:none}}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);display:none;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:var(--sidebar-width);z-index:100}@media (min-width:1024px){.sidebar{display:flex}}.sidebar__header{border-bottom:1px solid var(--color-border);padding:var(--space-5)}.sidebar__logo{height:32px;width:auto}.sidebar__nav{flex:1 1;overflow-y:auto;padding:var(--space-4)}.sidebar__section{margin-bottom:var(--space-6)}.sidebar__section-title{color:var(--color-text-disabled);font-size:var(--text-caption);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);margin-bottom:var(--space-2);padding:0 var(--space-3);text-transform:uppercase}.sidebar__link{align-items:center;border-radius:var(--radius-default);color:var(--color-text-secondary);display:flex;gap:var(--space-3);margin-bottom:var(--space-1);padding:var(--space-3) var(--space-3);text-decoration:none;transition:all .15s ease}.sidebar__link:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.sidebar__link--active{background:var(--color-primary-500);color:var(--color-text-inverse)}.sidebar__link-icon{flex-shrink:0;height:20px;width:20px}.sidebar__link-label{font-weight:var(--font-weight-medium)}.sidebar__link-badge{background:var(--color-error);border-radius:var(--radius-full);color:var(--color-white);font-size:var(--text-caption);font-weight:var(--font-weight-bold);margin-left:auto;min-width:20px;padding:var(--space-1) var(--space-2);text-align:center}.sidebar__footer{border-top:1px solid var(--color-border);padding:var(--space-4)}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-6);padding-top:var(--space-4)}.page-header__title{color:var(--color-text-primary);font-size:var(--text-h1);font-weight:var(--font-weight-bold)}.page-header__subtitle{color:var(--color-text-secondary);font-size:var(--text-body);margin-top:var(--space-1)}.page-header__actions{display:flex;gap:var(--space-3)}.breadcrumbs{align-items:center;display:flex;font-size:var(--text-label);gap:var(--space-2);margin-bottom:var(--space-4)}.breadcrumbs__item{color:var(--color-text-secondary);text-decoration:none;transition:color .15s ease}.breadcrumbs__item:hover{color:var(--color-primary-500)}.breadcrumbs__separator{color:var(--color-text-disabled)}.breadcrumbs__current{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.tabs{-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--color-border);display:flex;margin-bottom:var(--space-5);overflow-x:auto}.tabs__item{border-bottom:2px solid #0000;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin-bottom:-1px;padding:var(--space-3) var(--space-4);text-decoration:none;transition:all .15s ease;white-space:nowrap}.tabs__item:hover{color:var(--color-text-primary)}.tabs__item--active{border-bottom-color:var(--color-primary-500);color:var(--color-primary-500)}.dropdown{position:relative}.dropdown__trigger{cursor:pointer}.dropdown__menu{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:180px;opacity:0;position:absolute;right:0;top:calc(100% + var(--space-2));transform:translateY(-8px);transition:all .15s ease;visibility:hidden;z-index:50}.dropdown--open .dropdown__menu{opacity:1;transform:translateY(0);visibility:visible}.dropdown__item{align-items:center;color:var(--color-text-primary);display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);text-decoration:none;transition:background .15s ease}.dropdown__item:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.dropdown__item:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.dropdown__item:hover{background:var(--color-surface-hover)}.dropdown__item--danger{color:var(--color-error)}.dropdown__divider{background:var(--color-border);height:1px;margin:var(--space-2) 0}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.section-header__title{color:var(--color-text-primary);font-size:var(--text-h3);font-weight:var(--font-weight-semibold)}.section-header__count{align-items:center;background:var(--color-surface-overlay);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--text-caption);font-weight:var(--font-weight-semibold);height:24px;justify-content:center;margin-left:var(--space-2);min-width:24px;padding:0 var(--space-2)}.section-header__action{color:var(--color-primary-500);font-size:var(--text-label);font-weight:var(--font-weight-medium)}.progress-bar{background:var(--color-surface-overlay);border-radius:var(--radius-full);height:8px;overflow:hidden}.progress-bar--thin{height:4px}.progress-bar--thick{height:12px}.progress-bar__fill{background:var(--color-primary-500);border-radius:var(--radius-full);height:100%;transition:width .3s ease}.progress-bar--healthy .progress-bar__fill{background:var(--color-success)}.progress-bar--warning .progress-bar__fill{background:var(--color-warning)}.progress-bar--danger .progress-bar__fill{background:var(--color-error)}.progress-labeled{align-items:center;display:flex;gap:var(--space-3)}.progress-labeled__bar{flex:1 1}.progress-labeled__text{color:var(--color-text-secondary);font-size:var(--text-label);font-weight:var(--font-weight-medium);white-space:nowrap}.badge{align-items:center;border-radius:var(--radius-default);display:inline-flex;font-size:var(--text-caption);font-weight:var(--font-weight-semibold);gap:var(--space-1);letter-spacing:var(--letter-spacing-wide);padding:var(--space-1) var(--space-3);text-transform:uppercase}.badge--active{background:var(--color-success-light);color:var(--color-success)}.badge--completed{background:var(--color-info-light);color:var(--color-info)}.badge--pending{background:var(--color-warning-light);color:var(--color-warning)}.badge--overdue{background:var(--color-error-light);color:var(--color-error)}.badge--draft{background:var(--color-surface-overlay);color:var(--color-text-secondary)}.badge--dot:before{background:currentColor;content:"";height:8px;width:8px}.badge--dot:before,.badge-pill{border-radius:var(--radius-full)}.badge-pill{align-items:center;background:var(--color-error);color:var(--color-white);display:inline-flex;font-size:11px;font-weight:var(--font-weight-bold);height:20px;justify-content:center;min-width:20px;padding:0 var(--space-2)}.badge-pill--primary{background:var(--color-primary-500);color:var(--color-text-inverse)}.badge-pill--secondary{background:var(--color-surface-overlay);color:var(--color-text-secondary)}.avatar{align-items:center;background:var(--color-primary-500);border-radius:var(--radius-full);color:var(--color-text-inverse);display:flex;flex-shrink:0;font-size:var(--text-label);font-weight:var(--font-weight-semibold);height:40px;justify-content:center;text-transform:uppercase;width:40px}.avatar--sm{font-size:var(--text-caption);height:32px;width:32px}.avatar--lg{font-size:var(--text-h3);height:56px;width:56px}.avatar img{border-radius:var(--radius-full);height:100%;object-fit:cover;width:100%}.spinner{animation:spin .8s linear infinite;border:3px solid var(--color-surface-overlay);border-radius:var(--radius-full);border-top-color:var(--color-primary-500);height:24px;width:24px}.spinner--sm{border-width:2px;height:16px;width:16px}.spinner--lg{border-width:4px;height:40px;width:40px}.loading-overlay{background:#1a1a1acc;inset:0;position:absolute;z-index:50}.tooltip{position:relative}.tooltip__content{background:var(--color-surface-elevated);border-radius:var(--radius-default);bottom:calc(100% + 8px);box-shadow:var(--shadow-md);color:var(--color-text-primary);font-size:var(--text-caption);opacity:0;padding:var(--space-2) var(--space-3);transition:all .15s ease;visibility:hidden;white-space:nowrap;z-index:100}.tooltip__content,.tooltip__content:after{left:50%;position:absolute;transform:translateX(-50%)}.tooltip__content:after{border:6px solid #0000;border-top:6px solid var(--color-surface-elevated);content:"";top:100%}.tooltip:hover .tooltip__content{opacity:1;visibility:visible}.divider{background:var(--color-border);height:1px;margin:var(--space-4) 0}.divider--thick{height:2px}.divider--vertical{height:auto;margin:0 var(--space-4);width:1px}.tag{background:var(--color-surface-overlay);border-radius:var(--radius-sm);color:var(--color-text-secondary);display:inline-flex;font-size:var(--text-caption);gap:var(--space-1);padding:var(--space-1) var(--space-2)}.tag,.tag__remove{align-items:center}.tag__remove{cursor:pointer;display:flex;height:14px;justify-content:center;opacity:.6;transition:opacity .15s ease;width:14px}.tag__remove:hover{opacity:1}.page-enter{opacity:0;transform:translateY(8px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .25s ease,transform .25s ease}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .15s ease}.fade-in{animation:fadeIn .25s ease forwards}.fade-out{animation:fadeOut .15s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.slide-up{animation:slideUp .25s ease forwards}.slide-down{animation:slideDown .25s ease forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:scaleIn .2s ease forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.pulse{animation:pulse 2s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.modal-backdrop{align-items:center;animation:fadeIn .15s ease;background:#000000b3;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:200}.modal{animation:scaleIn .2s ease;background:var(--color-surface-elevated);border-radius:var(--radius-lg);max-height:calc(100vh - var(--space-8));max-width:480px;overflow:hidden;width:100%}.modal--lg{max-width:640px}.modal--full{border-radius:0;height:100%;max-height:none;max-width:none}.modal__header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-5)}.modal__title{color:var(--color-text-primary);font-size:var(--text-h3);font-weight:var(--font-weight-semibold)}.modal__close{align-items:center;border-radius:var(--radius-default);color:var(--color-text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .15s ease;width:40px}.modal__close:hover{background:var(--color-surface-overlay);color:var(--color-text-primary)}.modal__body{max-height:calc(100vh - 200px);overflow-y:auto;padding:var(--space-5)}.modal__footer{align-items:center;background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;gap:var(--space-3);justify-content:flex-end;padding:var(--space-4) var(--space-5)}.toast-container{bottom:calc(var(--bottom-nav-height) + var(--space-4));display:flex;flex-direction:column;gap:var(--space-3);left:var(--space-4);pointer-events:none;position:fixed;right:var(--space-4);z-index:300}@media (min-width:1024px){.toast-container{bottom:var(--space-6);left:auto;right:var(--space-6);width:400px}}.toast{align-items:flex-start;animation:slideUp .25s ease;background:var(--color-surface-elevated);border-left:4px solid var(--color-info);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;gap:var(--space-3);padding:var(--space-4);pointer-events:auto}.toast--success{border-left-color:var(--color-success)}.toast--warning{border-left-color:var(--color-warning)}.toast--error{border-left-color:var(--color-error)}.toast__icon{flex-shrink:0;height:24px;width:24px}.toast--success .toast__icon{color:var(--color-success)}.toast--warning .toast__icon{color:var(--color-warning)}.toast--error .toast__icon{color:var(--color-error)}.toast__content{flex:1 1}.toast__title{color:var(--color-text-primary);font-weight:var(--font-weight-medium);margin-bottom:var(--space-1)}.toast__message{font-size:var(--text-label)}.toast__close,.toast__message{color:var(--color-text-secondary)}.toast__close{align-items:center;cursor:pointer;display:flex;height:24px;justify-content:center;opacity:.6;transition:opacity .15s ease;width:24px}.toast__close:hover{opacity:1}@media print{.bottom-nav,.btn-fab,.header,.sidebar,.toast-container{display:none!important}.page-content{margin:0!important;padding:0!important}body{background:#fff;color:#000}.card{border:1px solid #ccc;box-shadow:none}}:root{--color-primary:#ffcd00;--color-primary-dark:#d4aa00;--color-primary-light:#ffe14d;--color-secondary:#1a1a1a;--color-secondary-dark:#000;--color-secondary-light:#2d2d2d;--color-background:#f5f5f5;--color-surface:#fff;--color-surface-alt:#fafafa;--color-text-primary:#1a1a1a;--color-text-secondary:#4a4a4a;--color-text-on-primary:#1a1a1a;--color-border:#d4aa00;--color-border-light:#e8e8e8;--color-divider:#e0e0e0;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--font-display:"Roboto Condensed",sans-serif;--font-body:"Roboto",sans-serif;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-inner:inset 0 2px 4px 0 #0000000f;--shadow-metal:0 1px 0 #ffffff80,0 -1px 0 #00000026,inset 0 1px 2px #0000001a;--shadow-recessed:inset 0 2px 4px #00000026,inset 0 1px 1px #0000001a;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--radius-xl:8px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:#f5f5f5;background:var(--color-background);font-family:Roboto,sans-serif;font-family:var(--font-body);line-height:1.6;min-height:100vh}body,h1,h2,h3,h4,h5,h6{color:#1a1a1a;color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:Roboto Condensed,sans-serif;font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;line-height:1.2}h1{font-size:2.5rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}h2{font-size:2rem}h2,h3{margin-bottom:1rem;margin-bottom:var(--spacing-md)}h3{font-size:1.5rem}h4{font-size:1.25rem}h4,h5{margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}h5{font-size:1.125rem}h6{font-size:1rem;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}p{font-weight:400;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.btn,button{background:#fff;background:var(--color-surface);border:1px solid #0000;border-radius:4px;border-radius:var(--radius-md);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#1a1a1a;color:var(--color-text-primary);cursor:pointer;font-family:Roboto Condensed,sans-serif;font-family:var(--font-display);font-size:.875rem;font-weight:600;letter-spacing:.05em;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-transform:uppercase;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.btn:before,button:before{background:linear-gradient(180deg,#ffffff1a,#0000000d);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.btn:hover,button:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active,button:active{transform:translateY(0)}.btn:active,.btn:disabled,button:active,button:disabled{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm)}.btn:disabled,button:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-primary{background:linear-gradient(180deg,#ffe14d,#ffcd00);background:linear-gradient(180deg,var(--color-primary-light) 0,var(--color-primary) 100%);border:1px solid #d4aa00;border:1px solid var(--color-primary-dark);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);color:#1a1a1a;color:var(--color-text-on-primary)}.btn-primary:hover{background:linear-gradient(180deg,#ffcd00,#d4aa00);background:linear-gradient(180deg,var(--color-primary) 0,var(--color-primary-dark) 100%);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg)}.btn-secondary{background:linear-gradient(180deg,#2d2d2d,#1a1a1a);background:linear-gradient(180deg,var(--color-secondary-light) 0,var(--color-secondary) 100%);border:1px solid #000;border:1px solid var(--color-secondary-dark);color:#fff}.btn-secondary:hover{background:linear-gradient(180deg,#1a1a1a,#000);background:linear-gradient(180deg,var(--color-secondary) 0,var(--color-secondary-dark) 100%)}.btn-outline{background:#0000;border:1px solid #d4aa00;border:1px solid var(--color-border);box-shadow:none;color:#1a1a1a;color:var(--color-text-primary)}.btn-outline:hover{background:#ffcd00;background:var(--color-primary);border-color:#d4aa00;border-color:var(--color-primary-dark);color:#1a1a1a;color:var(--color-text-on-primary)}.btn-sm{font-size:.75rem;padding:.5rem 1rem}.btn-lg{font-size:1rem;padding:1rem 2rem}input,select,textarea{background:#fff;background:var(--color-surface);border:1px solid #e8e8e8;border:1px solid var(--color-border-light);border-radius:4px;border-radius:var(--radius-md);box-shadow:inset 0 2px 4px #00000026,inset 0 1px 1px #0000001a;box-shadow:var(--shadow-recessed);color:#1a1a1a;color:var(--color-text-primary);font-family:Roboto,sans-serif;font-family:var(--font-body);font-size:1rem;padding:.75rem 1rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}input:hover,select:hover,textarea:hover{border-color:#d4aa00;border-color:var(--color-border)}input:focus,select:focus,textarea:focus{border-color:#ffcd00;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(#FFCD00,.1),inset 0 2px 4px #00000026,inset 0 1px 1px #0000001a;box-shadow:0 0 0 3px rgba(var(--color-primary),.1),var(--shadow-recessed);outline:none}input::placeholder,textarea::placeholder{color:#4a4a4a;color:var(--color-text-secondary);opacity:.6}label{color:#1a1a1a;color:var(--color-text-primary);display:block;font-family:Roboto Condensed,sans-serif;font-family:var(--font-display);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem;margin-bottom:var(--spacing-xs);text-transform:uppercase}.form-group{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.form-error{color:#ef4444;color:var(--color-error);font-size:.875rem;font-weight:500;margin-top:.25rem;margin-top:var(--spacing-xs)}.card{background:#fff;background:var(--color-surface);border:1px solid #e8e8e8;border:1px solid var(--color-border-light);border-radius:6px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);overflow:hidden;padding:1.5rem;padding:var(--spacing-lg);position:relative}.card:before{background:linear-gradient(90deg,#ffcd00,#ffe14d);background:linear-gradient(90deg,var(--color-primary) 0,var(--color-primary-light) 100%);content:"";height:4px;left:0;position:absolute;right:0;top:0}.card-header{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-divider);color:#1a1a1a;color:var(--color-text-primary);font-family:Roboto Condensed,sans-serif;font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin-bottom:1rem;margin-bottom:var(--spacing-md);padding-bottom:.5rem;padding-bottom:var(--spacing-sm)}.card-body{color:#4a4a4a;color:var(--color-text-secondary)}.container{margin:0 auto;max-width:1280px;padding:0 1rem;padding:0 var(--spacing-md);width:100%}.grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg)}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-sm{gap:.5rem;gap:var(--spacing-sm)}.gap-md{gap:1rem;gap:var(--spacing-md)}.gap-lg{gap:1.5rem;gap:var(--spacing-lg)}.mt-0{margin-top:0}.mt-1{margin-top:.25rem;margin-top:var(--spacing-xs)}.mt-2{margin-top:.5rem;margin-top:var(--spacing-sm)}.mt-3{margin-top:1rem;margin-top:var(--spacing-md)}.mt-4{margin-top:1.5rem;margin-top:var(--spacing-lg)}.mt-5{margin-top:2rem;margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:1rem;margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:.25rem;padding:var(--spacing-xs)}.p-2{padding:.5rem;padding:var(--spacing-sm)}.p-3{padding:1rem;padding:var(--spacing-md)}.p-4{padding:1.5rem;padding:var(--spacing-lg)}.p-5{padding:2rem;padding:var(--spacing-xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-primary{color:#ffcd00;color:var(--color-primary)}.text-secondary{color:#4a4a4a;color:var(--color-text-secondary)}.text-success{color:#10b981;color:var(--color-success)}.text-warning{color:#f59e0b;color:var(--color-warning)}.text-error{color:#ef4444;color:var(--color-error)}.spinner{animation:spin 1s linear infinite;border:3px solid #0000001a;border-radius:50%;border-top-color:#ffcd00;border-top:3px solid var(--color-primary);height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}table{background:#fff;background:var(--color-surface);border:1px solid #e8e8e8;border:1px solid var(--color-border-light);border-collapse:collapse;border-radius:6px;border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);overflow:hidden;width:100%}thead{background:linear-gradient(180deg,#fafafa,#fff);background:linear-gradient(180deg,var(--color-surface-alt) 0,var(--color-surface) 100%);border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--color-divider)}th{color:#1a1a1a;color:var(--color-text-primary);font-family:Roboto Condensed,sans-serif;font-family:var(--font-display);font-size:.875rem;font-weight:700;letter-spacing:.05em;text-align:left;text-transform:uppercase}td,th{padding:1rem;padding:var(--spacing-md)}td{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-divider);color:#4a4a4a;color:var(--color-text-secondary)}tbody tr:hover{background:#fafafa;background:var(--color-surface-alt)}tbody tr:last-child td{border-bottom:none}@media (max-width:639px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}table{font-size:.875rem}td,th{padding:.5rem;padding:var(--spacing-sm)}}@media (min-width:640px) and (max-width:767px){.container{padding:0 1.5rem;padding:0 var(--spacing-lg)}.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.container{padding:0 2rem;padding:0 var(--spacing-xl)}}@media (min-width:1024px){html{font-size:18px}}
/*# sourceMappingURL=main.3a952cdb.css.map*/