:root{--orange: #FF6B35;--orange-dark: #E85520;--orange-light: #FF8F6B;--navy: #1B2B4B;--navy-dark: #0F1929;--navy-light: #2D4270;--slate: #64748B;--slate-light: #94A3B8;--light-bg: #F8FAFC;--white: #FFFFFF;--border: #E2E8F0;--border-strong: #CBD5E1;--text-primary: #1E293B;--text-secondary: #64748B;--text-muted: #94A3B8;--text-inverse: #FFFFFF;--success: #10B981;--success-bg: #ECFDF5;--success-border: #6EE7B7;--warning: #F59E0B;--warning-bg: #FFFBEB;--warning-border: #FCD34D;--error: #EF4444;--error-bg: #FEF2F2;--error-border: #FCA5A5;--info: #3B82F6;--info-bg: #EFF6FF;--info-border: #93C5FD;--font: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .14);--sidebar-width: 240px;--topbar-height: 64px;--content-max-width: 1200px;--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-sidebar-overlay: 148;--z-sidebar: 150;--z-modal-backdrop: 200;--z-modal: 300;--z-toast: 400}.sidebar-drawer{transform:translate(-100%);transition:transform var(--transition-base);will-change:transform}.sidebar-drawer.is-open{transform:translate(0)}@media (min-width: 768px){.sidebar-drawer{transform:translate(0)!important}}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f19298c;z-index:var(--z-sidebar-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .15s ease}.sidebar-overlay.is-open{display:block}@media (min-width: 768px){.sidebar-overlay{display:none!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.builder-layout-spacer{display:none;flex-shrink:0}@media (min-width: 768px){.builder-layout-spacer{display:block;width:var(--sidebar-width)}}.hamburger-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:none;border:none;cursor:pointer;color:var(--text-primary);font-size:20px;line-height:1;flex-shrink:0;transition:background var(--transition-fast)}.hamburger-btn:hover{background:var(--light-bg)}@media (min-width: 768px){.hamburger-btn{display:none}}.page-content{padding:16px;max-width:var(--content-max-width);width:100%}@media (min-width: 480px){.page-content{padding:20px}}@media (min-width: 768px){.page-content{padding:24px}}@media (min-width: 1024px){.page-content{padding:32px}}.topbar-inner{padding:0 16px!important}@media (min-width: 480px){.topbar-inner{padding:0 20px!important}}@media (min-width: 768px){.topbar-inner{padding:0 28px!important}}@media (min-width: 1024px){.topbar-inner{padding:0 32px!important}}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}@media (min-width: 640px){.stats-grid{grid-template-columns:repeat(3,1fr);gap:12px}}@media (min-width: 1024px){.stats-grid{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:28px}}.dashboard-main-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}@media (min-width: 1024px){.dashboard-main-grid{grid-template-columns:300px 1fr;gap:20px}}.project-cards-grid{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width: 480px){.project-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}}@media (min-width: 1024px){.project-cards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}}.header-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}@media (min-width: 640px){.header-cards{grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:22px}}@media (min-width: 1024px){.header-cards{display:flex;flex-wrap:nowrap;gap:16px;margin-bottom:24px}}.cards-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 640px){.cards-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (min-width: 1024px){.cards-grid{grid-template-columns:repeat(3,1fr);gap:20px}}.two-col-grid{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 768px){.two-col-grid{grid-template-columns:1fr 1fr}}@media (max-width: 639px){.modal-backdrop{padding:0!important;align-items:flex-end!important}.modal-dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0!important;max-height:93vh!important;width:100%!important;max-width:100%!important}}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.topbar-actions-label{display:none}@media (min-width: 480px){.topbar-actions-label{display:inline}}.hide-mobile{display:none!important}@media (min-width: 768px){.hide-mobile{display:revert!important}}.hide-mobile-flex{display:none!important}@media (min-width: 768px){.hide-mobile-flex{display:flex!important}}.show-mobile-only{display:block!important}@media (min-width: 768px){.show-mobile-only{display:none!important}}@media (max-width: 767px){.touch-target{min-height:44px;display:flex;align-items:center}}@media (max-width: 479px){.stat-card-value{font-size:var(--text-xl)!important}.stat-card-label{font-size:10px!important}}.phase-actions-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-container{padding:16px;max-width:900px;margin:0 auto;width:100%}@media (min-width: 640px){.portal-container{padding:24px}}@media (min-width: 1024px){.portal-container{padding:32px}}.portal-header-inner{padding:0 16px;display:flex;align-items:center;justify-content:space-between;height:var(--topbar-height)}@media (min-width: 640px){.portal-header-inner{padding:0 24px}}@media (min-width: 1024px){.portal-header-inner{padding:0 32px}}.auth-card{width:100%;max-width:440px;padding:28px 20px;margin:0 auto}@media (min-width: 480px){.auth-card{padding:40px 36px}}.settings-grid{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 768px){.settings-grid{grid-template-columns:240px 1fr;gap:32px}}.scope-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}@media (min-width: 768px){.scope-table-wrap{margin:0;padding:0}}.form-row{display:flex;flex-direction:column;gap:12px}@media (min-width: 480px){.form-row{flex-direction:row;align-items:flex-end}}.dashboard-stats-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:24px}@media (min-width: 640px){.dashboard-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.dashboard-stats-grid{grid-template-columns:repeat(4,1fr);margin-bottom:26px}}.artifact-metric-row{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 640px){.artifact-metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--text-base);color:var(--text-primary);background:var(--light-bg);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:1.25;color:var(--text-primary)}a{color:var(--orange);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font);cursor:pointer;border:none;background:none}input,textarea,select{font-family:var(--font);font-size:var(--text-base)}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--slate-light)}:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
