:root{--sgh-navy: #0a1628;--sgh-navy-light: #132238;--sgh-gold: #c9a84c;--sgh-gold-light: #d4b86a;--sgh-gold-dim: rgba(201, 168, 76, .15);--sgh-gold-faint: rgba(201, 168, 76, .08);--sgh-gold-glow: rgba(201, 168, 76, .12);--surface-base: #080e1a;--surface-1: #0d1526;--surface-2: #131d33;--surface-3: #1a2640;--surface-raised: #1f2d4a;--surface-overlay: rgba(8, 14, 26, .85);--text-primary: #f0f0f2;--text-secondary: #8899aa;--text-muted: #4a5a6a;--text-inverse: #0a1628;--border-default: rgba(201, 168, 76, .08);--border-hover: rgba(201, 168, 76, .22);--border-subtle: rgba(255, 255, 255, .04);--border-strong: rgba(201, 168, 76, .35);--status-success: #34d399;--status-success-bg: rgba(52, 211, 153, .1);--status-warning: #f59e0b;--status-warning-bg: rgba(245, 158, 11, .1);--status-error: #ef4444;--status-error-bg: rgba(239, 68, 68, .1);--status-info: #60a5fa;--status-info-bg: rgba(96, 165, 250, .1);--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--sp-0: 0;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .35), 0 2px 4px -2px rgba(0, 0, 0, .2);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .35), 0 4px 6px -4px rgba(0, 0, 0, .2);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .2);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(201, 168, 76, .08);--shadow-gold: 0 4px 14px rgba(201, 168, 76, .15);--sidebar-w: 260px;--sidebar-collapsed: 64px;--header-h: 0px;--content-max-w: 1400px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.22, 1.2, .36, 1);--ease-snappy: cubic-bezier(.25, .1, .25, 1);--ease-silk: cubic-bezier(.4, 0, .2, 1);--dur-fast: .15s;--dur-normal: .25s;--dur-slow: .35s;--dur-enter: .3s}[data-theme=light]{--surface-base: #f5f6fa;--surface-1: #ffffff;--surface-2: #ffffff;--surface-3: #f0f1f6;--surface-raised: #e8eaf0;--surface-overlay: rgba(255, 255, 255, .92);--text-primary: #1a1f36;--text-secondary: #5a6578;--text-muted: #8f96a3;--text-inverse: #f0f0f2;--border-default: rgba(0, 0, 0, .06);--border-hover: rgba(201, 168, 76, .3);--border-subtle: rgba(0, 0, 0, .04);--border-strong: rgba(201, 168, 76, .4);--status-success-bg: rgba(52, 211, 153, .12);--status-warning-bg: rgba(245, 158, 11, .12);--status-error-bg: rgba(239, 68, 68, .1);--status-info-bg: rgba(96, 165, 250, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .03);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px rgba(201, 168, 76, .06);--shadow-gold: 0 4px 14px rgba(201, 168, 76, .12);--sgh-gold-dim: rgba(201, 168, 76, .1);--sgh-gold-faint: rgba(201, 168, 76, .06);--sgh-gold-glow: rgba(201, 168, 76, .1)}[data-theme=light] body:before{display:none}[data-theme=light] ::-webkit-scrollbar-thumb{background:#c4c8d0}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#a0a4ac}[data-theme=light] .sidebar{background:#0d1526;border-right-color:#ffffff0f}[data-theme=light] .sidebar .sidebar-brand-name{color:#f0f0f2}[data-theme=light] .sidebar .sidebar-brand-sub{color:#4a5a6a}[data-theme=light] .sidebar .sidebar-link{color:#89a}[data-theme=light] .sidebar .sidebar-link:hover{color:#f0f0f2;background:#1a2640}[data-theme=light] .sidebar .sidebar-link.active{color:#c9a84c;background:#c9a84c14}[data-theme=light] .sidebar .sidebar-user-name{color:#f0f0f2}[data-theme=light] .sidebar .sidebar-user-email{color:#4a5a6a}[data-theme=light] .sidebar .sidebar-footer{border-top-color:#ffffff0f}[data-theme=light] .sidebar .sidebar-logout{color:#4a5a6a}[data-theme=light] .sidebar .sidebar-logout:hover{color:#ef4444}[data-theme=light] .login-page{background:#080e1a}[data-theme=light] .login-card{background:#131d33;border-color:#c9a84c1f}[data-theme=light] .login-title{color:#f0f0f2}[data-theme=light] .login-subtitle{color:#4a5a6a}[data-theme=light] .login-page label{color:#89a}[data-theme=light] .login-page input{background:#0d1526;color:#f0f0f2;border-color:#c9a84c1f}[data-theme=light] .login-page input::placeholder{color:#4a5a6a}.theme-toggle{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);cursor:pointer;-webkit-user-select:none;user-select:none}.theme-toggle-track{position:relative;width:36px;height:20px;border-radius:10px;background:#1a2640;border:1px solid rgba(255,255,255,.1);transition:background var(--dur-normal) ease;flex-shrink:0}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#89a;transition:transform var(--dur-normal) var(--ease-spring),background var(--dur-normal) ease;display:flex;align-items:center;justify-content:center;font-size:8px;line-height:1}[data-theme=light] .theme-toggle-track{background:#e8eaf0;border-color:#0000001a}[data-theme=light] .theme-toggle-thumb{transform:translate(16px);background:var(--sgh-gold)}.theme-toggle-label{font-size:.6875rem;color:#89a;font-weight:500;letter-spacing:.02em}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:var(--sp-8);overflow-x:hidden}body{font-family:var(--font-body);font-size:.875rem;line-height:1.6;color:var(--text-primary);background-color:var(--surface-base);min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;opacity:.018;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px}::selection{background-color:var(--sgh-gold);color:var(--sgh-navy)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.3;color:var(--text-primary);letter-spacing:-.005em}h1{font-size:1.625rem;font-weight:600}h2{font-size:1.3125rem;font-weight:500}h3{font-size:1.0625rem;font-weight:500}h4{font-size:.9375rem;font-weight:500}a{color:var(--sgh-gold);text-decoration:none;transition:color var(--dur-fast) ease}a:hover{color:var(--sgh-gold-light)}img,svg{display:block;max-width:100%}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none;background:none;color:inherit}ul,ol{list-style:none}table{border-collapse:collapse;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-layout{display:flex;min-height:100vh}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;background:var(--surface-1);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;z-index:100;overflow-y:auto;overflow-x:hidden;transition:width var(--dur-normal) var(--ease-out)}.sidebar-brand{padding:var(--sp-6) var(--sp-5);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}.sidebar-monogram{width:36px;height:36px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--sgh-gold),var(--sgh-gold-light));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.8125rem;color:var(--sgh-navy);flex-shrink:0;letter-spacing:-.02em}.sidebar-logo{width:36px;height:36px;object-fit:contain;flex-shrink:0;background:#fffffff2;border-radius:var(--radius);padding:3px}.sidebar-brand-text{display:flex;flex-direction:column;gap:1px;overflow:hidden}.sidebar-brand-name{font-family:var(--font-display);font-weight:500;font-size:.9375rem;color:var(--text-primary);line-height:1.2;white-space:nowrap;letter-spacing:.02em}.sidebar-brand-sub{font-size:.625rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-weight:400}.sidebar-nav{flex:1;padding:var(--sp-4) 0;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-5);margin:1px var(--sp-3);border-radius:var(--radius);color:var(--text-secondary);font-size:.8125rem;font-weight:400;letter-spacing:.01em;transition:all var(--dur-normal) var(--ease-silk);position:relative;text-decoration:none}.sidebar-link:hover{color:var(--text-primary);background:var(--surface-3)}.sidebar-link.active{color:var(--sgh-gold);background:var(--sgh-gold-faint)}.sidebar-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--sgh-gold);border-radius:0 3px 3px 0;transition:height var(--dur-normal) var(--ease-spring)}.sidebar-icon{width:20px;text-align:center;font-size:.9375rem;flex-shrink:0;opacity:.65;transition:opacity var(--dur-fast) ease}.sidebar-link.active .sidebar-icon,.sidebar-link:hover .sidebar-icon{opacity:1}.sidebar-footer{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border-subtle);flex-shrink:0}.sidebar-user{display:flex;flex-direction:column;gap:var(--sp-1)}.sidebar-user-name{font-size:.8125rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:.6875rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout{margin-top:var(--sp-3);color:var(--text-muted);font-size:.75rem;padding:var(--sp-2) 0;transition:color var(--dur-fast) ease}.sidebar-logout:hover{color:var(--status-error)}.content{flex:1;margin-left:var(--sidebar-w);min-height:100vh;min-width:0;overflow-x:hidden;transition:margin-left var(--dur-normal) var(--ease-out)}.content-header{padding:var(--sp-6) var(--sp-8);border-bottom:1px solid var(--border-subtle);background:var(--surface-1)}.content-header h1{font-size:1.375rem;font-weight:500;font-family:var(--font-display);color:var(--text-primary);letter-spacing:.01em}.content-body{padding:var(--sp-8);max-width:var(--content-max-w)}.sidebar-toggle{display:none;position:fixed;top:var(--sp-4);left:var(--sp-4);z-index:101;width:40px;height:40px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);font-size:1.125rem;align-items:center;justify-content:center}.card{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-5);transition:border-color var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out)}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.card-flat{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-5)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.card-title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text-primary)}.card-subtitle{font-size:.75rem;color:var(--text-muted)}.stat-card{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6);position:relative;overflow:hidden;transition:border-color var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out)}.stat-card:before{content:"";position:absolute;top:0;left:0;width:60%;height:2px;background:var(--sgh-gold);border-radius:0 0 2px}.stat-card-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--sp-2)}.stat-card-value{font-family:var(--font-mono);font-size:1.625rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:var(--sp-1);letter-spacing:-.02em}.stat-card-meta{font-size:.75rem;color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);border-radius:var(--radius-lg);font-size:.8125rem;font-weight:500;font-family:var(--font-body);letter-spacing:.01em;transition:all var(--dur-normal) var(--ease-silk);white-space:nowrap;text-decoration:none;line-height:1.5}.btn-primary{background:var(--sgh-gold);color:var(--sgh-navy)}.btn-primary:hover{background:var(--sgh-gold-light);box-shadow:var(--shadow-gold)}.btn-secondary{background:var(--surface-3);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover{border-color:var(--border-hover);background:var(--surface-raised)}.btn-ghost{color:var(--text-secondary);background:transparent}.btn-ghost:hover{color:var(--text-primary);background:var(--surface-3)}.btn-danger{background:var(--status-error);color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:var(--sp-1) var(--sp-3);font-size:.75rem;border-radius:var(--radius)}.btn-xs{padding:2px var(--sp-2);font-size:.6875rem;border-radius:var(--radius-sm)}.btn-lg{padding:var(--sp-3) var(--sp-6);font-size:.875rem}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-icon{width:32px;height:32px;padding:0;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center}.input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=url],input[type=date],textarea,select{width:100%;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);font-family:var(--font-body);font-size:.8125rem;color:var(--text-primary);transition:border-color var(--dur-normal) var(--ease-silk),box-shadow var(--dur-normal) var(--ease-silk);outline:none;line-height:1.5}.input:focus,input:focus,textarea:focus,select:focus{border-color:var(--sgh-gold);box-shadow:0 0 0 3px var(--sgh-gold-faint),0 0 0 1px var(--sgh-gold)}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--text-muted)}label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--sp-1)}.form-group{margin-bottom:var(--sp-4)}.form-helper{font-size:.6875rem;color:var(--text-muted);margin-top:var(--sp-1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.checkbox-label,.radio-label{display:flex;align-items:center;gap:var(--sp-2);font-size:.8125rem;color:var(--text-primary);cursor:pointer}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--sgh-gold)}.data-table{width:100%;border-collapse:collapse}.data-table thead{position:sticky;top:0;z-index:1}.data-table th{background:var(--surface-1);padding:var(--sp-3) var(--sp-4);text-align:left;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-default);white-space:nowrap}.data-table td{padding:var(--sp-3) var(--sp-4);font-size:.8125rem;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.data-table tbody tr{transition:background var(--dur-fast) ease}.data-table tbody tr:hover{background:var(--surface-3)}.data-table td a{color:var(--sgh-gold);font-weight:500}.data-table tbody tr.clickable-row{cursor:pointer}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.badge-success{background:var(--status-success-bg);color:var(--status-success)}.badge-warning{background:var(--status-warning-bg);color:var(--status-warning)}.badge-error{background:var(--status-error-bg);color:var(--status-error)}.badge-info{background:var(--status-info-bg);color:var(--status-info)}.badge-gold{background:var(--sgh-gold-faint);color:var(--sgh-gold)}.badge-neutral{background:var(--surface-3);color:var(--text-secondary)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;animation:fadeIn var(--dur-fast) var(--ease-out)}.modal{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideInUp var(--dur-enter) var(--ease-out)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border-subtle)}.modal-header h3{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--text-primary)}.modal-close{color:var(--text-muted);font-size:1.25rem;padding:var(--sp-1);border-radius:var(--radius);transition:all var(--dur-fast) ease}.modal-close:hover{color:var(--text-primary);background:var(--surface-3)}.modal-body{padding:var(--sp-5) var(--sp-6)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border-subtle)}.toast-container{position:fixed;bottom:var(--sp-5);right:var(--sp-5);z-index:1000;display:flex;flex-direction:column;gap:var(--sp-2)}.toast{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-4);font-size:.8125rem;color:var(--text-primary);box-shadow:var(--shadow-lg);animation:toastIn var(--dur-slow) var(--ease-out);max-width:400px;opacity:1;transform:translate(0);transition:opacity var(--dur-slow) var(--ease-silk),transform var(--dur-slow) var(--ease-silk)}.toast-exit{opacity:0;transform:translate(100%)}.toast-success{border-left:3px solid var(--status-success)}.toast-warning{border-left:3px solid var(--status-warning)}.toast-error{border-left:3px solid var(--status-error)}.toast-info{border-left:3px solid var(--status-info)}.section-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--sp-4)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.section-header h2,.section-header h3{font-family:var(--font-display);font-weight:600;color:var(--text-primary)}.section-header-action{font-size:.75rem;color:var(--text-muted);transition:color var(--dur-fast) ease}.section-header-action:hover{color:var(--sgh-gold)}.tabs{display:flex;align-items:center;gap:var(--sp-1);background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:3px}.tab{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius);font-size:.8125rem;font-weight:500;color:var(--text-secondary);transition:all var(--dur-fast) ease;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--surface-raised);color:var(--text-primary)}.tabs-underline{display:flex;gap:var(--sp-6);border-bottom:1px solid var(--border-subtle);padding-bottom:0}.tab-underline{padding:var(--sp-3) 0;font-size:.8125rem;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;transition:all var(--dur-fast) ease;cursor:pointer;margin-bottom:-1px}.tab-underline:hover{color:var(--text-primary)}.tab-underline.active{color:var(--sgh-gold);border-bottom-color:var(--sgh-gold)}.tag{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);border-radius:var(--radius-full);font-size:.625rem;font-weight:600;background:var(--sgh-gold-faint);color:var(--text-secondary);border:1px solid var(--border-default)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-16) var(--sp-8);color:var(--text-muted);text-align:center}.empty-state-icon{font-size:2.5rem;margin-bottom:var(--sp-4);opacity:.4}.empty-state-text{font-size:.875rem;max-width:300px;line-height:1.6}.empty-state-action{margin-top:var(--sp-4)}.grid{display:grid;gap:var(--sp-4)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-asymmetric{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--sp-6)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-4)}.progress-bar{width:100%;height:4px;background:var(--surface-3);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;border-radius:var(--radius-full);background:var(--sgh-gold);transition:width var(--dur-slow) var(--ease-out)}.progress-bar-fill.success{background:var(--status-success)}.progress-bar-fill.warning{background:var(--status-warning)}.progress-bar-fill.error{background:var(--status-error)}.text-gold{color:var(--sgh-gold)}.text-success{color:var(--status-success)}.text-warning{color:var(--status-warning)}.text-error{color:var(--status-error)}.text-info{color:var(--status-info)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-mono{font-family:var(--font-mono)}.text-sm{font-size:.75rem}.text-xs{font-size:.6875rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-6{gap:var(--sp-6)}.mt-2{margin-top:var(--sp-2)}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mb-2{margin-bottom:var(--sp-2)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(12px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastIn{0%{transform:translate(100%) scale(.95);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@keyframes toastOut{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(100%) scale(.95);opacity:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseSubtle{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{to{transform:rotate(360deg)}}.stagger>:nth-child(1){animation-delay:0ms}.stagger>:nth-child(2){animation-delay:40ms}.stagger>:nth-child(3){animation-delay:80ms}.stagger>:nth-child(4){animation-delay:.12s}.stagger>:nth-child(5){animation-delay:.16s}.stagger>:nth-child(6){animation-delay:.2s}.stagger>:nth-child(7){animation-delay:.24s}.stagger>:nth-child(8){animation-delay:.28s}.animate-fade-in{animation:fadeIn var(--dur-fast) var(--ease-out) both}.animate-slide-up{animation:slideInUp var(--dur-enter) var(--ease-out) both}.skeleton{background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-raised) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 2s linear infinite;border-radius:var(--radius)}.spectrum-bar{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--sgh-gold),#d4b86a,#f5d78e,var(--sgh-gold),#d4b86a);background-size:300% 100%;animation:spectrumScroll 4s linear infinite;z-index:9998}@keyframes spectrumScroll{0%{background-position:0% 0}to{background-position:300% 0}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface-base);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;width:500px;height:500px;background:var(--sgh-gold-faint);border-radius:50%;filter:blur(120px);top:-100px;left:-100px;pointer-events:none}.login-page:after{content:"";position:absolute;width:400px;height:400px;background:#60a5fa08;border-radius:50%;filter:blur(120px);bottom:-50px;right:-50px;pointer-events:none}.login-card{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-2xl);padding:var(--sp-10) var(--sp-8);width:100%;max-width:420px;box-shadow:var(--shadow-xl);animation:slideInUp var(--dur-enter) var(--ease-out);position:relative;z-index:1}.login-logo{width:48px;height:48px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--sgh-gold),var(--sgh-gold-light));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.125rem;color:var(--sgh-navy);margin:0 auto var(--sp-6)}.login-logo-img{width:auto;height:88px;object-fit:contain;margin:0 auto var(--sp-6);display:block;background:#fffffff2;border-radius:var(--radius-lg);padding:var(--sp-3)}.login-title{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--text-primary);text-align:center;margin-bottom:var(--sp-2);letter-spacing:.02em}.login-subtitle{font-size:.8125rem;color:var(--text-muted);text-align:center;margin-bottom:var(--sp-8)}.login-btn{width:100%;padding:var(--sp-3) var(--sp-4);background:linear-gradient(135deg,var(--sgh-gold),var(--sgh-gold-light));color:var(--sgh-navy);border-radius:var(--radius-lg);font-size:.875rem;font-weight:500;letter-spacing:.02em;transition:all var(--dur-normal) var(--ease-silk)}.login-btn:hover{background:linear-gradient(135deg,var(--sgh-gold-light),var(--sgh-gold));box-shadow:var(--shadow-gold),0 0 24px #c9a84c1f;transform:translateY(-1px)}.login-error{background:var(--status-error-bg);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius);padding:var(--sp-3);font-size:.8125rem;color:var(--status-error);margin-top:var(--sp-4)}.table-scroll,.tender-list,.data-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}table{min-width:600px}.content-body>*{max-width:100%}@media(max-width:1024px){.grid-asymmetric{grid-template-columns:1fr}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.content-body{padding:var(--sp-6)}}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-toggle{display:flex}.content{margin-left:0}.content-body{padding:var(--sp-4)}.content-header{padding:var(--sp-4) var(--sp-4) var(--sp-4) calc(var(--sp-4) + 48px)}.content-header h1{font-size:1.125rem}.grid-2,.grid-3{grid-template-columns:1fr}.grid-4,.stat-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}.modal{max-width:calc(100vw - 32px);margin:0 16px}.btn{font-size:.75rem;padding:var(--sp-2) var(--sp-3)}.toast-container{left:var(--sp-4);right:var(--sp-4);bottom:var(--sp-4)}.toast{max-width:100%}table{min-width:500px}}@media(max-width:480px){.stat-grid,.grid-4{grid-template-columns:1fr}.content-body{padding:var(--sp-3)}.content-header{padding:var(--sp-3) var(--sp-3) var(--sp-3) calc(var(--sp-3) + 44px)}.content-header h1{font-size:1rem}table{min-width:400px}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:600;display:flex;align-items:center;justify-content:center;animation:fadeIn var(--dur-fast) var(--ease-out)}.confirm-dialog{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--sp-6);max-width:400px;width:100%;box-shadow:var(--shadow-xl);animation:slideInUp var(--dur-enter) var(--ease-out);text-align:center}.confirm-dialog p{font-size:.875rem;color:var(--text-primary);margin-bottom:var(--sp-6);line-height:1.6}.confirm-actions{display:flex;gap:var(--sp-3);justify-content:center}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);padding:var(--sp-1) var(--sp-2);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:.6875rem;color:var(--text-primary);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-fast) ease;z-index:50}[data-tooltip]:hover:after{opacity:1}.signature-canvas-wrapper{background:var(--surface-1);border:2px dashed var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-4);text-align:center;transition:border-color var(--dur-fast) ease}.signature-canvas-wrapper:hover,.signature-canvas-wrapper.active{border-color:var(--sgh-gold)}.signature-canvas{width:100%;height:150px;border-radius:var(--radius);cursor:crosshair;background:var(--surface-base)}.toolbar{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap}.toolbar-search{flex:1;min-width:200px;position:relative}.toolbar-search input{padding-left:var(--sp-8)}.toolbar-search:before{content:"🔍";position:absolute;left:var(--sp-3);top:50%;transform:translateY(-50%);font-size:.8125rem;opacity:.4}.filter-panel{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-4);margin-bottom:var(--sp-4)}.filter-row{display:flex;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:var(--sp-1)}.filter-group label{font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.filter-group select,.filter-group input{min-width:140px;font-size:.75rem}.activity-feed{display:flex;flex-direction:column;gap:0}.activity-item{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border-subtle);font-size:.8125rem}.activity-item:last-child{border-bottom:none}.activity-dot{width:8px;height:8px;border-radius:50%;background:var(--sgh-gold);flex-shrink:0;margin-top:6px}.activity-text{color:var(--text-primary);flex:1}.activity-time{font-size:.6875rem;color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;flex-shrink:0}:focus-visible{outline:2px solid var(--sgh-gold);outline-offset:2px}:focus:not(:focus-visible){outline:none}a,button,input,select,textarea,[role=button]{transition-timing-function:var(--ease-out)}.kanban-board,.kanban-card-list,.tender-detail-tabs,.tenders-tab-bar,.pm-view-tabs,.tender-tabs,.table-wrapper{scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pm-project-card,.tenders-stat-card,.profile-card,.stat-card{animation:card-enter var(--dur-enter) var(--ease-out) backwards}.pm-project-card:nth-child(1),.tenders-stat-card:nth-child(1){animation-delay:0ms}.pm-project-card:nth-child(2),.tenders-stat-card:nth-child(2){animation-delay:40ms}.pm-project-card:nth-child(3),.tenders-stat-card:nth-child(3){animation-delay:80ms}.pm-project-card:nth-child(4),.tenders-stat-card:nth-child(4){animation-delay:.12s}.pm-project-card:nth-child(5){animation-delay:.16s}.pm-project-card:nth-child(6){animation-delay:.2s}.pm-project-card:nth-child(n+7){animation-delay:.24s}.pm-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-6);margin-top:var(--sp-5)}.pm-project-card{display:block;background:var(--surface-2);border:1px solid var(--border-default);border-left:4px solid var(--sgh-gold);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6);text-decoration:none;color:var(--text-primary);transition:box-shadow var(--dur-normal) var(--ease-out),border-color var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out);cursor:pointer;position:relative}.pm-project-card:hover{box-shadow:var(--shadow-glow);border-color:var(--border-hover);transform:translateY(-2px)}.pm-project-card-header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3)}.pm-project-card-header h3{font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.pm-project-prefix{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface-1);padding:2px 6px;border-radius:var(--radius-sm)}.pm-project-settings{margin-left:auto;font-size:1rem;opacity:0;transition:opacity var(--dur-normal) var(--ease-out)}.pm-project-card:hover .pm-project-settings{opacity:1}.pm-project-card-meta{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-4);font-size:.8rem}.pm-project-card-stats{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;font-size:.8rem;min-height:36px;padding-top:var(--sp-2);border-top:1px solid var(--border-subtle)}.pm-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.pm-stat-num{font-weight:700;font-size:1.25rem;font-family:var(--font-mono);line-height:1;color:var(--text-primary)}.pm-stat-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.pm-stat-overdue{color:var(--status-error)}.pm-progress-bar{flex:1;min-width:60px;height:6px;background:var(--border-subtle);border-radius:3px;overflow:hidden}.pm-progress-fill{height:100%;background:var(--status-success);border-radius:3px;transition:width var(--dur-slow) var(--ease-out)}.pm-progress-text{font-weight:600;font-size:.8rem;color:var(--text-muted);min-width:32px;text-align:right}.pm-detail-header{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap;min-height:44px}.pm-back-link{font-size:.85rem;color:var(--text-muted);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}.pm-back-link:hover{color:var(--sgh-gold)}.pm-detail-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;border-left:4px solid var(--sgh-gold);padding-left:var(--sp-3);margin:0;flex:1;min-width:0;color:var(--text-primary)}.pm-detail-content{min-height:400px}.pm-view-tabs{display:flex;gap:var(--sp-1);background:var(--surface-1);border-radius:var(--radius);padding:3px;border:1px solid var(--border-subtle);margin-left:auto}.pm-view-tab{padding:var(--sp-2) var(--sp-4);font-size:.8rem;font-weight:500;text-decoration:none;color:var(--text-muted);border-radius:6px;transition:all var(--dur-normal) var(--ease-out);white-space:nowrap;letter-spacing:.01em}.pm-view-tab:hover{color:var(--text-primary);background:var(--surface-2)}.pm-view-tab-active{color:var(--text-primary);background:var(--surface-2);box-shadow:var(--shadow-sm);font-weight:600}.kanban-board{display:flex;gap:var(--sp-5);overflow-x:auto;padding-bottom:var(--sp-4);min-height:400px;align-items:flex-start;scroll-behavior:smooth}.kanban-column{flex:0 0 290px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:calc(100vh - 240px)}.kanban-column-header{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-default)}.kanban-column-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kanban-column-name{flex:1}.kanban-column-count{font-size:.75rem;font-weight:600;background:var(--surface-2);padding:1px 7px;border-radius:10px;color:var(--text-muted)}.kanban-wip-exceeded{background:var(--status-error-bg);color:var(--status-error)}.kanban-card-list{flex:1;overflow-y:auto;padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2);min-height:60px}.kanban-card{background:var(--surface-2);border:1px solid var(--border-default);border-left:3px solid transparent;border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);cursor:pointer;transition:box-shadow var(--dur-normal) var(--ease-out),border-color var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out)}.kanban-card:hover{box-shadow:var(--shadow-glow);border-color:var(--border-hover);transform:translateY(-1px)}.kanban-card-title{display:flex;gap:var(--sp-2);align-items:flex-start;font-size:.85rem;line-height:1.4;margin-bottom:var(--sp-2);color:var(--text-primary)}.kanban-card-num{font-size:.7rem;font-weight:600;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.kanban-card-meta{display:flex;align-items:center;gap:var(--sp-2);font-size:.75rem;color:var(--text-secondary)}.kanban-avatar{width:22px;height:22px;border-radius:50%;background:var(--sgh-gold-faint);color:var(--sgh-gold);font-size:.7rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kanban-due{font-size:.7rem}.kanban-due-overdue{color:var(--status-error);font-weight:600}.kanban-due-soon{color:var(--status-warning);font-weight:600}.kanban-milestone{color:var(--sgh-gold);font-size:.85rem}.kanban-add-btn{display:block;width:100%;padding:var(--sp-2) var(--sp-4);font-size:.8rem;color:var(--text-muted);background:none;border:none;text-align:left;cursor:pointer;border-top:1px solid var(--border-default);transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.kanban-add-btn:hover{color:var(--sgh-gold);background:var(--sgh-gold-faint)}.kanban-ghost{opacity:.4;background:var(--sgh-gold-faint);border:1px dashed var(--sgh-gold)}.kanban-drag{box-shadow:var(--shadow-lg);transform:rotate(1.5deg)}.kanban-card[data-priority=urgent]{border-left-color:#dc2626}.kanban-card[data-priority=high]{border-left-color:#f97316}.kanban-card[data-priority=medium]{border-left-color:#eab308}.kanban-card[data-priority=low]{border-left-color:var(--text-muted)}.pm-subtask-section{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--border-subtle)}.pm-subtask-section h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--sp-3)}.pm-subtask-list{display:flex;flex-direction:column;gap:var(--sp-1)}.pm-subtask-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;font-size:.85rem;color:var(--text-primary)}.pm-subtask-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--sgh-gold);flex-shrink:0}.pm-subtask-add{margin-top:var(--sp-2)}.pm-subtask-add input{width:100%;padding:var(--sp-2) var(--sp-3);font-size:.85rem;font-family:var(--font-body);border:1px dashed var(--border-default);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);transition:border-color var(--dur-normal) var(--ease-out)}.pm-subtask-add input::placeholder{color:var(--text-muted)}.pm-subtask-add input:focus{outline:none;border-color:var(--sgh-gold);border-style:solid;box-shadow:0 0 0 1px #c9a84c26}.pm-gantt-wrapper{overflow-x:auto;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius);margin-top:var(--sp-2)}.pm-gantt-wrapper .gantt-container{font-family:var(--font-body)}.pm-gantt-wrapper .gantt .grid-background,.pm-gantt-wrapper .gantt .grid-row{fill:var(--surface-2)}.pm-gantt-wrapper .gantt .grid-row:nth-child(2n){fill:var(--surface-1)}.pm-gantt-wrapper .gantt .row-line,.pm-gantt-wrapper .gantt .tick{stroke:#ffffff0a}.pm-gantt-wrapper .gantt .today-highlight{fill:var(--sgh-gold-faint)}.pm-gantt-wrapper .gantt .bar{fill:var(--sgh-gold);rx:4;ry:4}.pm-gantt-wrapper .gantt .bar-progress{fill:var(--sgh-gold-light)}.pm-gantt-wrapper .gantt .bar-wrapper.gantt-milestone .bar{fill:var(--sgh-gold)}.pm-gantt-wrapper .gantt .bar-label{fill:var(--text-inverse);font-family:var(--font-body);font-weight:500}.pm-gantt-wrapper .gantt .lower-text,.pm-gantt-wrapper .gantt .upper-text{font-family:var(--font-body);fill:var(--text-muted);font-size:.75rem}.pm-gantt-wrapper .gantt .grid-header{fill:var(--surface-1);stroke:#ffffff0a}.pm-gantt-wrapper .gantt .arrow{stroke:var(--text-muted);fill:none}.pm-gantt-wrapper .gantt .handle,.pm-gantt-wrapper .gantt .bar-wrapper:hover .bar,.pm-gantt-wrapper .gantt .bar-wrapper.active .bar{fill:var(--sgh-gold-light)}.pm-gantt-wrapper .gantt .popup-wrapper .pointer{border-top-color:var(--surface-raised)}.pm-gantt-wrapper .gantt .popup-wrapper .title{color:var(--text-primary)}.pm-gantt-wrapper .gantt .popup-wrapper .subtitle{color:var(--text-secondary)}.pm-comment-list{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-3)}.pm-comment{padding:var(--sp-3);background:var(--surface-1);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.pm-comment-header{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1);font-size:.75rem}.pm-comment-author{font-weight:600;color:var(--text-primary)}.pm-comment-time{color:var(--text-muted);flex:1}.pm-comment-body{font-size:.85rem;line-height:1.5;white-space:pre-wrap;color:var(--text-secondary)}.pm-comment-input{display:flex;gap:var(--sp-2);align-items:flex-end}.pm-comment-input textarea{flex:1;padding:var(--sp-2) var(--sp-3);font-size:.85rem;font-family:var(--font-body);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);resize:vertical;min-height:40px;transition:border-color var(--dur-normal) var(--ease-out)}.pm-comment-input textarea::placeholder{color:var(--text-muted)}.pm-comment-input textarea:focus{outline:none;border-color:var(--sgh-gold);box-shadow:0 0 0 1px #c9a84c26}.pm-cal-nav{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.pm-cal-month{font-family:var(--font-display);font-size:1.15rem;font-weight:600;min-width:180px;text-align:center;color:var(--text-primary)}.pm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--border-default);border-radius:var(--radius);overflow:hidden}.pm-cal-header{padding:var(--sp-2) var(--sp-3);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface-1);border-bottom:1px solid var(--border-default);text-align:center}.pm-cal-cell{min-height:100px;padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);background:var(--surface-2);display:flex;flex-direction:column;gap:2px}.pm-cal-cell:nth-child(7n){border-right:none}.pm-cal-cell-empty{background:var(--surface-1)}.pm-cal-today{background:var(--sgh-gold-faint)}.pm-cal-day-num{font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:2px}.pm-cal-today .pm-cal-day-num{color:var(--sgh-gold)}.pm-cal-task{font-size:.7rem;line-height:1.3;padding:2px 4px;background:var(--surface-1);border-radius:3px;border-left:2px solid var(--sgh-gold);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);transition:background var(--dur-fast) var(--ease-out)}.pm-cal-task:hover{background:var(--surface-3)}.pm-cal-task-done{opacity:.5;text-decoration:line-through}.pm-cal-more{font-size:.65rem;color:var(--text-muted);padding:1px 4px;cursor:default}.pm-time-list{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-2)}.pm-time-entry{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);font-size:.8rem;background:var(--surface-1);border-radius:var(--radius-sm);color:var(--text-secondary)}.pm-time-entry-hours{font-weight:600;color:var(--sgh-gold);min-width:40px}.pm-time-entry-date{color:var(--text-muted);min-width:80px}.pm-time-entry-desc{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-time-summary{font-size:.85rem;font-weight:600;padding:var(--sp-2) 0;color:var(--text-primary)}.pm-time-over{color:var(--status-error);font-weight:600}.pm-time-form{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;margin-top:var(--sp-2)}.pm-time-hours{width:80px;padding:var(--sp-1) var(--sp-2);font-size:.85rem;font-family:var(--font-body);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);transition:border-color var(--dur-normal) var(--ease-out)}.pm-time-date{padding:var(--sp-1) var(--sp-2);font-size:.85rem;font-family:var(--font-body);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);color-scheme:dark;transition:border-color var(--dur-normal) var(--ease-out)}.pm-time-desc{flex:1;min-width:120px;padding:var(--sp-1) var(--sp-2);font-size:.85rem;font-family:var(--font-body);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);transition:border-color var(--dur-normal) var(--ease-out)}.pm-time-hours:focus,.pm-time-date:focus,.pm-time-desc:focus{outline:none;border-color:var(--sgh-gold);box-shadow:0 0 0 1px #c9a84c26}.pm-activity-feed{display:flex;flex-direction:column;gap:var(--sp-1);max-width:700px}.pm-activity-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-left:2px solid var(--border-subtle);font-size:.85rem;color:var(--text-secondary);transition:background var(--dur-fast) var(--ease-out)}.pm-activity-item:hover{background:var(--surface-1)}.pm-activity-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-1);font-size:.75rem;font-weight:700;color:var(--text-muted);flex-shrink:0}.pm-activity-text{flex:1}.pm-activity-time{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.pm-sprint-list{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.pm-sprint-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--surface-1);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-secondary);border:1px solid var(--border-subtle);transition:border-color var(--dur-normal) var(--ease-out)}.pm-sprint-row:hover{border-color:var(--border-default)}.pm-sprint-name{font-weight:600;flex:1;color:var(--text-primary)}.pm-sprint-status-planned{background:var(--surface-3);color:var(--text-muted)}.pm-sprint-status-active{background:var(--sgh-gold-faint);color:var(--sgh-gold)}.pm-sprint-status-completed{background:var(--status-success-bg);color:var(--status-success)}.pm-sprint-form{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border-subtle)}.pm-bulk-bar{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--sgh-gold-faint);border:1px solid var(--sgh-gold);border-radius:var(--radius-sm);margin-left:auto}.pm-bulk-count{font-size:.8rem;font-weight:600;color:var(--sgh-gold);white-space:nowrap}.pm-bulk-cb{width:16px;height:16px;accent-color:var(--sgh-gold);cursor:pointer}.pm-overdue-banner{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--status-error-bg);border:1px solid var(--status-error);border-radius:var(--radius-sm);font-size:.85rem;color:var(--status-error);margin-bottom:var(--sp-3)}.pm-overdue-tasks{font-weight:600}.pm-filter-bar{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-4);padding:var(--sp-2) var(--sp-3);background:var(--surface-1);border-radius:var(--radius);border:1px solid var(--border-subtle)}.pm-filter-search{flex:1;min-width:160px;padding:var(--sp-1) var(--sp-3);font-size:.85rem;font-family:var(--font-body);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-primary);transition:border-color var(--dur-normal) var(--ease-out)}.pm-filter-search::placeholder{color:var(--text-muted)}.pm-filter-search:focus{outline:none;border-color:var(--sgh-gold);box-shadow:0 0 0 1px #c9a84c26}.pm-filter-select{padding:var(--sp-1) var(--sp-2);font-size:.8rem;font-family:var(--font-body);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-primary);transition:border-color var(--dur-normal) var(--ease-out)}.pm-filter-select:focus{outline:none;border-color:var(--sgh-gold);box-shadow:0 0 0 1px #c9a84c26}.pm-label-group{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.pm-label-check{display:flex;align-items:center;gap:4px;font-size:.8rem;cursor:pointer;padding:2px 8px;border-radius:12px;border:1px solid var(--border-subtle);color:var(--text-secondary);transition:border-color var(--dur-normal) var(--ease-out),background var(--dur-normal) var(--ease-out)}.pm-label-check:hover{border-color:var(--label-color, var(--sgh-gold))}.pm-label-check input[type=checkbox]{display:none}.pm-label-check:has(input:checked){background:color-mix(in srgb,var(--label-color, var(--sgh-gold)) 15%,transparent);border-color:var(--label-color, var(--sgh-gold))}.pm-label-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.badge-github{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-family:var(--font-mono);font-weight:600;padding:2px 8px;border-radius:10px;background:var(--surface-3);color:var(--text-secondary);text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.badge-github:hover{background:var(--surface-raised);color:var(--text-primary)}.pm-context-view{display:flex;flex-direction:column;gap:var(--sp-6)}.pm-context-section{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-5)}.pm-context-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.pm-context-section-header h3{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.pm-context-brief{font-size:.9rem;line-height:1.6;max-height:400px;overflow-y:auto;color:var(--text-secondary)}.pm-context-card{padding:var(--sp-3) var(--sp-4);border-left:3px solid var(--sgh-gold);margin-bottom:var(--sp-3);background:var(--surface-1);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.pm-context-card:last-child{margin-bottom:0}.pm-github-link{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-family:var(--font-mono);color:var(--text-muted);text-decoration:none;padding:4px 10px;border-radius:var(--radius);background:var(--surface-3);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.pm-github-link:hover{color:var(--sgh-gold);background:var(--surface-raised)}.github-options{max-height:0;overflow:hidden;transition:max-height var(--dur-slow) var(--ease-out);padding-left:var(--sp-4);border-left:2px solid var(--border-subtle)}.github-options.github-options-open{max-height:200px}.github-status{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3);background:var(--surface-1);border-radius:var(--radius-sm);font-size:.85rem;margin-top:var(--sp-3);color:var(--text-secondary)}.github-status a{color:var(--sgh-gold);text-decoration:none}.github-status a:hover{text-decoration:underline}@media(max-width:768px){.pm-project-grid{grid-template-columns:1fr}.pm-detail-header{flex-direction:column;align-items:flex-start}.pm-view-tabs{width:100%;overflow-x:auto}.kanban-board{padding-bottom:var(--sp-8)}.kanban-column{flex:0 0 260px}}.gh-sync-bar{display:flex;align-items:center;justify-content:space-between;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4);gap:var(--sp-3);flex-wrap:wrap}.gh-sync-status{display:flex;align-items:center;gap:var(--sp-2);font-size:.85rem;color:var(--text-secondary)}.gh-sync-icon{font-size:1rem;color:var(--text-muted)}.gh-sync-icon.gh-sync-active{color:var(--status-success)}.gh-sync-actions{display:flex;gap:var(--sp-2);align-items:center}.gh-stats-row{display:flex;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap}.gh-stat{display:flex;flex-direction:column;align-items:center;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius);padding:var(--sp-3) var(--sp-5);min-width:100px;transition:border-color var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out)}.gh-stat:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow)}.gh-stat-num{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.gh-stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.gh-section{margin-bottom:var(--sp-6)}.gh-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-subtle)}.gh-commit-list{display:flex;flex-direction:column;gap:1px;background:var(--border-subtle);border:1px solid var(--border-default);border-radius:var(--radius);overflow:hidden}.gh-commit-row{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface-2);transition:background var(--dur-fast) var(--ease-out)}.gh-commit-row:hover{background:var(--surface-3)}.gh-avatar{width:32px;height:32px;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--text-muted);flex-shrink:0;overflow:hidden}.gh-avatar img{width:100%;height:100%;object-fit:cover}.gh-commit-info{flex:1;min-width:0}.gh-commit-msg{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);transition:color var(--dur-fast) var(--ease-out)}.gh-commit-msg:hover{color:var(--sgh-gold)}.gh-commit-meta{display:flex;align-items:center;gap:var(--sp-2);font-size:.75rem;color:var(--text-muted);margin-top:2px}.gh-sha{font-family:var(--font-mono);background:var(--surface-3);padding:1px 6px;border-radius:3px;font-size:.72rem;color:var(--text-secondary)}.gh-commit-stats{display:flex;gap:4px}.gh-additions{color:var(--status-success)}.gh-deletions{color:var(--status-error)}.gh-issue-list{display:flex;flex-direction:column;gap:1px;background:var(--border-subtle);border:1px solid var(--border-default);border-radius:var(--radius);overflow:hidden}.gh-issue-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface-2);transition:background var(--dur-fast) var(--ease-out)}.gh-issue-row:hover{background:var(--surface-3)}.gh-issue-state,.gh-pr-state{font-size:1rem;flex-shrink:0;width:20px;text-align:center}.gh-issue-open{color:var(--status-success)}.gh-issue-closed{color:#8b5cf6}.gh-pr-open{color:var(--status-success)}.gh-pr-merged{color:#8b5cf6}.gh-pr-closed{color:var(--status-error)}.gh-issue-title-wrap{flex:1;display:flex;align-items:baseline;gap:var(--sp-2);min-width:0}.gh-issue-number{font-size:.8rem;color:var(--text-muted);flex-shrink:0}.gh-issue-title{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);transition:color var(--dur-fast) var(--ease-out)}.gh-issue-title:hover{color:var(--sgh-gold)}.gh-issue-labels{display:flex;gap:4px;flex-shrink:0}.gh-label{font-size:.65rem;padding:1px 6px;border-radius:10px;font-weight:500;white-space:nowrap}.gh-issue-meta{display:flex;gap:var(--sp-2);font-size:.75rem;color:var(--text-muted);flex-shrink:0;min-width:120px;justify-content:flex-end}.gh-pr-branch{flex-shrink:0}.gh-branch-badge{font-size:.72rem;font-family:var(--font-mono);background:var(--surface-3);padding:1px 8px;border-radius:3px;white-space:nowrap;color:var(--text-secondary)}.gh-sync-list{display:flex;flex-direction:column;gap:1px;background:var(--border-subtle);border:1px solid var(--border-default);border-radius:var(--radius);overflow:hidden}.gh-sync-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:var(--surface-2);font-size:.8rem;color:var(--text-secondary)}.gh-sync-badge-success{background:var(--status-success);color:var(--text-inverse)}.gh-sync-badge-running{background:var(--status-info);color:var(--text-inverse)}.gh-sync-badge-failed{background:var(--status-error);color:#fff}.gh-sync-badge-partial{background:var(--status-warning);color:var(--text-inverse)}.gh-sync-error{color:var(--status-error);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.gh-settings-form{display:flex;flex-direction:column;gap:var(--sp-3)}.gh-toggle-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);transition:background var(--dur-fast) var(--ease-out)}.gh-toggle-row:hover{background:var(--surface-1)}.gh-toggle-row input[type=checkbox]{accent-color:var(--sgh-gold)}@keyframes pulse-urgent{0%,to{opacity:1}50%{opacity:.55}}@keyframes slide-in-filters{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes score-bar-grow{0%{width:0}}@keyframes bid-step-pulse{0%,to{box-shadow:0 0 #c9a84c66}50%{box-shadow:0 0 0 6px #c9a84c00}}.tenders-page{display:flex;flex-direction:column;gap:0;min-height:400px}.tenders-top-bar{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.tenders-search-input{flex:1;min-width:0;min-height:40px;padding:var(--sp-3) var(--sp-4);font-family:var(--font-body);font-size:.875rem;border:1px solid var(--border-default);border-radius:var(--radius);background:var(--surface-2);color:var(--text-primary);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.tenders-search-input:focus{outline:none;border-color:var(--sgh-gold);box-shadow:0 0 0 3px var(--sgh-gold-faint)}.tenders-search-input::placeholder{color:var(--text-muted);opacity:.6}.tenders-results-count{font-size:.8rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.tenders-sort-select{padding:var(--sp-2) var(--sp-3);font-family:var(--font-body);font-size:.8rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-primary);cursor:pointer;flex-shrink:0;transition:border-color var(--dur-fast) ease}.tenders-sort-select:focus{outline:none;border-color:var(--sgh-gold);box-shadow:0 0 0 2px var(--sgh-gold-faint)}.tenders-tab-bar{display:flex;gap:var(--sp-1);background:var(--surface-1);border-radius:var(--radius);padding:3px;margin-bottom:var(--sp-5);overflow-x:auto;border:1px solid var(--border-subtle)}.tenders-tab{padding:var(--sp-2) var(--sp-4);font-size:.8rem;font-weight:500;color:var(--text-muted);border-radius:6px;transition:all var(--dur-normal) var(--ease-out);white-space:nowrap;cursor:pointer;border:none;background:none;font-family:var(--font-body);text-decoration:none;letter-spacing:.01em}.tenders-tab:hover{color:var(--text-primary);background:var(--surface-3)}.tenders-tab-active{color:var(--text-primary);background:var(--surface-raised);box-shadow:var(--shadow-sm);font-weight:600}.tenders-content-layout{display:grid;grid-template-columns:260px 1fr;gap:var(--sp-6);min-height:400px}.tenders-sidebar{display:flex;flex-direction:column;gap:var(--sp-2);background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-5);align-self:flex-start;position:sticky;top:calc(var(--header-h) + var(--sp-8));max-height:calc(100vh - var(--header-h) - var(--sp-16));overflow-y:auto;animation:slide-in-filters var(--dur-slow) var(--ease-out)}.tenders-main{min-width:0;display:flex;flex-direction:column;gap:0}.tenders-table-container{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.tenders-table-container .table-wrapper{overflow-x:auto}.tenders-table-container .data-table{min-width:900px}.tenders-loading{display:flex;align-items:center;justify-content:center;padding:var(--sp-12) var(--sp-4);font-size:.875rem;color:var(--text-secondary)}.tenders-pagination{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border-subtle);font-size:.8rem;color:var(--text-muted);background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.tenders-page-info{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.tenders-perpage-select{padding:var(--sp-1) var(--sp-2);font-family:var(--font-body);font-size:.8rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-primary);cursor:pointer;transition:border-color var(--dur-fast) ease}.tenders-perpage-select:focus{outline:none;border-color:var(--sgh-gold);box-shadow:0 0 0 2px var(--sgh-gold-faint)}.tenders-filter-group{border-bottom:1px solid var(--border-subtle);padding-bottom:var(--sp-3);margin-bottom:var(--sp-3)}.tenders-filter-group:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.tenders-filter-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--sp-1) 0;font-family:var(--font-body);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:none;border:none;transition:color var(--dur-fast) ease}.tenders-filter-header:hover{color:var(--text-primary)}.tenders-filter-chevron{font-size:.6rem;transition:transform var(--dur-normal) ease;flex-shrink:0}.tenders-filter-body{display:flex;flex-direction:column;gap:var(--sp-1);padding-top:var(--sp-2)}.tenders-filter-checkbox{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;font-size:.8rem;color:var(--text-primary);cursor:pointer;transition:color var(--dur-fast) ease}.tenders-filter-checkbox:hover{color:var(--sgh-gold)}.tenders-filter-checkbox input[type=checkbox]{width:15px;height:15px;flex-shrink:0;accent-color:var(--sgh-gold)}.tenders-filter-region-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--sgh-gold);margin-top:var(--sp-2);margin-bottom:var(--sp-1);padding-bottom:var(--sp-1);border-bottom:1px solid var(--border-subtle)}.tenders-filter-region-label:first-child{margin-top:0}.tenders-filter-range-row{display:flex;align-items:center;gap:var(--sp-2)}.tenders-filter-range-input{flex:1;min-width:0;padding:var(--sp-1) var(--sp-2);font-size:.8rem;font-family:var(--font-body);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-primary);transition:border-color var(--dur-fast) ease}.tenders-filter-range-input:focus{outline:none;border-color:var(--sgh-gold);box-shadow:0 0 0 2px var(--sgh-gold-faint)}.tenders-filter-range-input::-webkit-inner-spin-button,.tenders-filter-range-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tenders-filter-range-input[type=number]{-moz-appearance:textfield}.tenders-clear-filters{font-size:.75rem;font-weight:600;color:var(--text-muted);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-3);border-radius:var(--radius-sm);transition:color var(--dur-fast) ease,background var(--dur-fast) ease;text-align:left}.tenders-clear-filters:hover{color:var(--status-error);background:var(--status-error-bg)}.tenders-star{color:var(--text-muted);font-size:1.1rem;cursor:pointer;transition:color var(--dur-fast) ease,transform var(--dur-fast) ease;background:none;border:none;padding:var(--sp-1);line-height:1}.tenders-star:hover{color:var(--sgh-gold);transform:scale(1.2)}.tenders-star-active{color:var(--sgh-gold)}.tenders-star-active:hover{color:var(--sgh-gold-light)}.tenders-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-5)}.tenders-stat-card{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-5);text-align:center;transition:border-color var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out);position:relative;overflow:hidden}.tenders-stat-card:hover{transform:translateY(-1px)}.tenders-stat-card:before{content:"";position:absolute;top:0;left:0;width:60%;height:2px;background:var(--sgh-gold);border-radius:0 0 2px}.tenders-stat-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow)}.tenders-stat-card .stat-value{font-family:var(--font-mono);font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2}.tenders-stat-card .stat-value.warning{color:var(--status-warning)}.tenders-stat-card .stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--sp-1)}.tender-title-text{font-weight:500;line-height:1.4;color:var(--text-primary);display:flex;align-items:baseline;gap:6px}.tender-enriched-dot{color:var(--sgh-gold);font-size:.5rem;flex-shrink:0;line-height:1}.tender-enriched-dot--empty{color:var(--text-muted);opacity:.5}.tender-title-meta{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}.tender-category-tag{display:inline-block;font-size:.6rem;padding:2px 7px;border-radius:var(--radius-full);background:var(--sgh-gold-faint);color:var(--sgh-gold);border:1px solid rgba(201,168,76,.15);white-space:nowrap;font-weight:500;letter-spacing:.01em}.tender-contract-type-tag{display:inline-block;font-size:.7rem;padding:2px 8px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-default);white-space:nowrap}.tender-ext-id-badge{display:inline-block;font-size:.6rem;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:-.02em;opacity:.7}.tender-deadline-cell{display:flex;flex-direction:column;gap:var(--sp-1);align-items:flex-start}.tender-deadline-countdown{display:inline-block;font-size:.625rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.03em;text-transform:uppercase;line-height:1.4}.tender-deadline-countdown.badge-urgent{background:#ef444426;color:#ef4444;animation:pulse-urgent 2s ease-in-out infinite}.tender-deadline-countdown.badge-warning{background:#f59e0b26;color:#f59e0b}.tender-deadline-countdown.badge-active{background:#22c55e1f;color:#22c55e}.tender-deadline-countdown.badge-neutral{background:var(--surface-3);color:var(--text-muted)}.tender-deadline-countdown.badge-closed{background:#6b72801f;color:var(--text-muted);font-weight:500}.tenders-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:9px;font-size:.65rem;font-weight:600;margin-left:4px;background:var(--surface-3);color:var(--text-muted)}.tenders-tab-active .tenders-tab-count{background:var(--sgh-gold);color:var(--sgh-navy)}.tenders-active-filters{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);font-size:.75rem;background:var(--sgh-gold-faint);color:var(--sgh-gold);border:1px solid rgba(201,168,76,.3);cursor:pointer;margin-left:var(--sp-3);transition:background var(--dur-fast) ease;white-space:nowrap;flex-shrink:0}.tenders-active-filters:hover{background:var(--sgh-gold-dim)}@media(max-width:768px){.tenders-content-layout{grid-template-columns:1fr}.tenders-sidebar{position:static;max-height:none;flex-direction:row;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3)}.tenders-filter-group{border-bottom:none;padding-bottom:0;margin-bottom:0;min-width:140px;flex:1}.tenders-top-bar{flex-wrap:wrap}.tenders-search-input{min-width:200px}.tenders-stats-row{grid-template-columns:repeat(2,1fr);gap:var(--sp-2)}.tenders-stat-card .stat-value{font-size:1.35rem}.tenders-tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch}.tenders-table-container .data-table{min-width:700px}}@media(max-width:480px){.tenders-top-bar{flex-direction:column;align-items:stretch}.tenders-results-count{order:3;text-align:center}.tenders-sidebar{flex-direction:column;gap:var(--sp-2)}.tenders-filter-group{min-width:0}.tenders-tab-bar{gap:0}.tenders-tab{padding:6px 10px;font-size:.75rem}.tenders-pagination{flex-wrap:wrap;justify-content:center;gap:var(--sp-2)}}.tender-page{display:grid;grid-template-columns:260px 1fr;gap:var(--sp-6);min-height:400px}.tender-page-full{grid-template-columns:1fr}.tender-filters{display:flex;flex-direction:column;gap:var(--sp-1);background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-4);align-self:flex-start;position:sticky;top:calc(var(--header-h) + var(--sp-8));max-height:calc(100vh - var(--header-h) - var(--sp-16));overflow-y:auto;animation:slide-in-filters var(--dur-slow) ease}.tender-filter-group{border-bottom:1px solid var(--border-subtle);padding-bottom:var(--sp-3);margin-bottom:var(--sp-3)}.tender-filter-group:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.tender-filter-group h4{font-family:var(--font-body);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--sp-2);display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--dur-fast) ease}.tender-filter-group h4:hover{color:var(--text-primary)}.tender-filter-group h4:after{content:"▸";font-size:.6rem;transition:transform var(--dur-normal) ease}.tender-filter-group.open h4:after{transform:rotate(90deg)}.tender-filter-group-content{display:flex;flex-direction:column;gap:var(--sp-1)}.tender-filter-checkbox{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;font-size:.8rem;color:var(--text-primary);cursor:pointer;transition:color var(--dur-fast) ease}.tender-filter-checkbox:hover{color:var(--sgh-gold)}.tender-filter-checkbox input[type=checkbox]{width:15px;height:15px;flex-shrink:0;accent-color:var(--sgh-gold)}.tender-filter-checkbox-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tender-filter-checkbox-count{font-size:.7rem;font-weight:600;color:var(--text-muted);background:var(--surface-3);padding:1px 6px;border-radius:10px;min-width:20px;text-align:center;flex-shrink:0}.tender-filter-range{display:flex;align-items:center;gap:var(--sp-2)}.tender-filter-range input{flex:1;min-width:0;padding:var(--sp-1) var(--sp-2);font-size:.8rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-primary);font-family:var(--font-body);transition:border-color var(--dur-fast) ease}.tender-filter-range input:focus{outline:none;border-color:var(--sgh-gold);box-shadow:0 0 0 2px var(--sgh-gold-faint)}.tender-filter-range-sep{font-size:.75rem;color:var(--text-muted);flex-shrink:0}.tender-search-bar{position:relative;margin-bottom:var(--sp-4)}.tender-search-bar input{width:100%;padding:var(--sp-3) var(--sp-4);padding-left:var(--sp-10);font-family:var(--font-body);font-size:.875rem;border:1px solid var(--border-default);border-radius:var(--radius);background:var(--surface-2);color:var(--text-primary);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.tender-search-bar input:focus{outline:none;border-color:var(--sgh-gold);box-shadow:0 0 0 3px var(--sgh-gold-faint)}.tender-search-bar input::placeholder{color:var(--text-muted);opacity:.6}.tender-search-bar-icon{position:absolute;left:var(--sp-4);top:50%;transform:translateY(-50%);font-size:.9rem;color:var(--text-muted);pointer-events:none}.tender-tabs{display:flex;gap:var(--sp-1);background:var(--surface-2);border-radius:var(--radius);padding:3px;margin-bottom:var(--sp-4);overflow-x:auto}.tender-tab{padding:6px 14px;font-size:.8rem;font-weight:500;color:var(--text-muted);border-radius:var(--radius);transition:all var(--dur-normal) var(--ease-out);white-space:nowrap;cursor:pointer;border:none;background:none;font-family:var(--font-body);text-decoration:none}.tender-tab:hover{color:var(--text-primary);background:var(--surface-3)}.tender-tab.active{color:var(--text-primary);background:var(--surface-raised);box-shadow:var(--shadow-sm);font-weight:600}.tender-tab-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;background:var(--sgh-gold);color:var(--sgh-navy);padding:0 5px;border-radius:10px;min-width:16px;height:16px;margin-left:var(--sp-1);line-height:1}.tender-list{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.tender-list .table-wrapper{overflow-x:auto}.tender-list .data-table{min-width:900px}.tender-row{cursor:pointer;transition:background-color var(--dur-normal) var(--ease-out)}.tender-row:hover{background-color:var(--sgh-gold-faint)}.tender-title{font-weight:600;color:var(--text-primary);max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.tender-title a{color:var(--text-primary);text-decoration:none;transition:color var(--dur-fast) ease}.tender-title a:hover{color:var(--sgh-gold)}.tender-authority{font-size:.8125rem;color:var(--text-secondary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tender-country{white-space:nowrap;font-size:.85rem;color:var(--text-primary)}.tender-country-flag{margin-right:var(--sp-1);display:inline-flex;align-items:center;justify-content:center;width:22px;height:16px;background:var(--sgh-gold-faint);border-radius:2px;font-size:.75rem;line-height:1}.tender-value{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-primary);font-family:var(--font-mono)}.tender-bookmark{color:var(--text-muted);font-size:1rem;cursor:pointer;transition:color var(--dur-fast) ease;background:none;border:none;padding:var(--sp-1)}.tender-bookmark:hover,.tender-bookmark.bookmarked{color:var(--sgh-gold)}.tender-deadline{font-size:.8125rem;font-variant-numeric:tabular-nums;white-space:nowrap;transition:color var(--dur-fast) ease;font-family:var(--font-mono)}.tender-deadline.urgent-green{color:var(--status-success)}.tender-deadline.urgent-amber{color:var(--status-warning);font-weight:500}.tender-deadline.urgent-red{color:var(--status-error);font-weight:700;animation:pulse-urgent 1.5s ease-in-out infinite}.tender-deadline.expired{color:var(--text-muted);text-decoration:line-through;font-weight:400}.tender-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border-subtle);font-size:.8rem;color:var(--text-muted);background:var(--surface-2)}.tender-pagination-info{font-size:.8rem;color:var(--text-muted)}.tender-pagination-controls{display:flex;align-items:center;gap:var(--sp-1)}.tender-pagination-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:.8rem;font-weight:500;color:var(--text-muted);background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);transition:all var(--dur-fast) var(--ease-out)}.tender-pagination-btn:hover:not(:disabled){border-color:var(--sgh-gold);color:var(--sgh-gold);background:var(--sgh-gold-faint)}.tender-pagination-btn.active{background:var(--sgh-gold);color:var(--sgh-navy);border-color:var(--sgh-gold);font-weight:600}.tender-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.score-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;font-family:var(--font-mono);letter-spacing:.02em;line-height:1.6;white-space:nowrap}.score-badge.p1{background-color:var(--status-error-bg);color:var(--status-error)}.score-badge.p2{background-color:var(--status-warning-bg);color:var(--status-warning)}.score-badge.p3{background-color:var(--surface-3);color:var(--text-muted);border:1px solid var(--border-default)}.score-breakdown{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) 0}.score-bar{display:flex;align-items:center;gap:var(--sp-2);font-size:.75rem}.score-bar-label{flex:0 0 100px;color:var(--text-secondary);font-weight:500;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-bar-track{flex:1;height:8px;background:var(--surface-3);border-radius:var(--radius-sm);overflow:hidden}.score-bar-fill{height:100%;border-radius:var(--radius-sm);background:var(--sgh-gold);transition:width .6s cubic-bezier(.4,0,.2,1);animation:score-bar-grow .6s cubic-bezier(.4,0,.2,1)}.score-bar-fill.high{background:var(--status-success)}.score-bar-fill.medium{background:var(--status-warning)}.score-bar-fill.low{background:var(--status-error)}.score-bar-value{flex:0 0 32px;text-align:right;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.badge-active{background-color:var(--status-success-bg);color:var(--status-success)}.badge-upcoming{background-color:var(--status-info-bg);color:var(--status-info)}.badge-extended{background-color:var(--status-warning-bg);color:var(--status-warning)}.badge-closed{background-color:var(--surface-3);color:var(--text-muted)}.badge-cancelled{background-color:var(--status-error-bg);color:var(--status-error);text-decoration:line-through}.badge-awarded{background-color:var(--sgh-gold-faint);color:var(--sgh-gold);border:1px solid rgba(201,168,76,.2)}.badge-no_award{background-color:var(--surface-3);color:var(--text-muted)}.badge-go{background-color:var(--status-success-bg);color:var(--status-success);font-weight:700}.badge-evaluate{background-color:var(--status-warning-bg);color:var(--status-warning)}.badge-no_go{background-color:var(--status-error-bg);color:var(--status-error)}.badge-pending{background-color:var(--surface-3);color:var(--text-muted);font-style:italic}.bid-pipeline{display:flex;align-items:flex-start;gap:0;padding:var(--sp-4) var(--sp-3);background:var(--surface-1);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.bid-pipeline-step{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);position:relative;flex:1;min-width:0}.bid-pipeline-step:after{content:"";position:absolute;top:14px;left:calc(50% + 16px);right:calc(-50% + 16px);height:2px;background:var(--border-default);z-index:0}.bid-pipeline-step:last-child:after{display:none}.bid-pipeline-step-circle{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-default);background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;font-family:var(--font-mono);color:var(--text-muted);position:relative;z-index:1;transition:all var(--dur-normal) var(--ease-out)}.bid-pipeline-step-label{font-size:.65rem;font-weight:500;color:var(--text-muted);text-align:center;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bid-pipeline-step.completed .bid-pipeline-step-circle{background:var(--status-success);border-color:var(--status-success);color:#fff}.bid-pipeline-step.completed:after{background:var(--status-success)}.bid-pipeline-step.completed .bid-pipeline-step-label{color:var(--status-success);font-weight:600}.bid-pipeline-step.active .bid-pipeline-step-circle{background:var(--sgh-gold);border-color:var(--sgh-gold);color:var(--sgh-navy)}.bid-pipeline-step.active .bid-pipeline-step-label{color:var(--sgh-gold);font-weight:600}.bid-pipeline-step.current .bid-pipeline-step-circle{border-color:var(--sgh-gold);color:var(--sgh-gold);animation:bid-step-pulse 2s ease-in-out infinite}.bid-pipeline-step.current .bid-pipeline-step-label{color:var(--sgh-gold);font-weight:600}.tender-detail{display:grid;grid-template-columns:1fr 300px;gap:var(--sp-6);align-items:flex-start}.tender-detail-main{min-width:0;display:flex;flex-direction:column;gap:var(--sp-5)}.tender-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:0}.tender-detail-header h1{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-primary);border-left:3px solid var(--sgh-gold);padding-left:var(--sp-4);margin:0;flex:1;min-width:0;line-height:1.35;letter-spacing:-.01em}.tender-detail-header-meta{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0;padding-top:var(--sp-1)}.tender-detail-info{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-bottom:0;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5)}.tender-detail-info .info-pair{display:flex;flex-direction:column;gap:4px;min-width:0}.tender-detail-info .info-label{font-size:.675rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.tender-detail-info .info-value{font-size:.85rem;font-weight:500;color:var(--text-primary);overflow-wrap:break-word;word-break:break-word;line-height:1.45}.tender-detail-info .info-value .badge{margin-left:var(--sp-1);vertical-align:middle}.tender-detail-tabs{display:flex;gap:var(--sp-1);background:var(--surface-1);border-radius:var(--radius);padding:3px;margin-bottom:0;border:1px solid var(--border-subtle);overflow-x:auto}.tender-detail-tab{padding:var(--sp-2) var(--sp-4);font-size:.8rem;font-weight:500;color:var(--text-muted);border-radius:6px;transition:all var(--dur-normal) var(--ease-out);white-space:nowrap;cursor:pointer;border:none;background:none;font-family:var(--font-body);text-decoration:none;letter-spacing:.01em}.tender-detail-tab:hover{color:var(--text-primary);background:var(--surface-3)}.tender-detail-tab.active{color:var(--text-primary);background:var(--surface-raised);box-shadow:var(--shadow-sm);font-weight:600}.tender-detail-tab-content{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-6);min-height:200px}.tender-detail-tab-content p{margin:0 0 .75em;line-height:1.75}.tender-detail-tab-content p:last-child{margin-bottom:0}.tender-detail-tab-content ul{margin:.5em 0 1em;padding-left:1.5em;list-style:disc}.tender-detail-tab-content ul li{margin-bottom:.4em;line-height:1.65;color:var(--color-text)}.tender-detail-tab-content ul li:last-child{margin-bottom:0}.tender-detail-sidebar{display:flex;flex-direction:column;gap:var(--sp-5);position:sticky;top:calc(var(--header-h) + var(--sp-8))}.tender-detail-sidebar .card{overflow:visible;padding:var(--sp-5)}.tender-detail-sidebar .card-title,.tender-detail-sidebar .card-header-title{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-family:var(--font-body)}.tender-countdown{display:flex;align-items:center;justify-content:center;gap:var(--sp-5);padding:var(--sp-5);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center}.tender-countdown-unit{display:flex;flex-direction:column;align-items:center;gap:2px}.tender-countdown-value{font-family:var(--font-mono);font-size:1.75rem;font-weight:700;line-height:1;color:var(--text-primary)}.tender-countdown-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.tender-countdown.urgent .tender-countdown-value{color:var(--status-error)}.tender-countdown-sep{font-size:1.25rem;color:var(--text-muted);font-weight:300;align-self:flex-start;padding-top:var(--sp-1)}.eval-form{display:flex;flex-direction:column;gap:var(--sp-5)}.eval-criteria-row{display:grid;grid-template-columns:1fr 2fr auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius)}.eval-criteria-row label{font-size:.85rem;font-weight:500;color:var(--text-primary)}.eval-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:var(--surface-3);outline:none;cursor:pointer;transition:background var(--dur-fast) ease}.eval-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--sgh-gold);border:2px solid var(--surface-2);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.eval-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:var(--shadow-gold)}.eval-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--sgh-gold);border:2px solid var(--surface-2);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.eval-slider:focus{background:var(--surface-raised)}.eval-criteria-value{font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--font-mono);color:var(--text-primary);min-width:32px;text-align:right}.eval-decision-group{display:flex;gap:var(--sp-3);padding:var(--sp-4) 0;border-top:1px solid var(--border-subtle)}.eval-decision-radio{flex:1;position:relative}.eval-decision-radio input[type=radio]{position:absolute;opacity:0;width:0;height:0}.eval-decision-radio label{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);font-size:.85rem;font-weight:600;border:2px solid var(--border-default);border-radius:var(--radius);cursor:pointer;transition:all var(--dur-normal) var(--ease-out);text-align:center;color:var(--text-muted);background:var(--surface-2)}.eval-decision-radio label:hover{border-color:var(--text-muted)}.eval-decision-radio.go input:checked+label{border-color:var(--status-success);background:var(--status-success-bg);color:var(--status-success)}.eval-decision-radio.evaluate input:checked+label{border-color:var(--status-warning);background:var(--status-warning-bg);color:var(--status-warning)}.eval-decision-radio.no-go input:checked+label{border-color:var(--status-error);background:var(--status-error-bg);color:var(--status-error)}.profile-card{display:block;background:var(--surface-2);border:1px solid var(--border-default);border-left:4px solid var(--sgh-gold);border-radius:var(--radius-lg);padding:var(--sp-5);text-decoration:none;color:var(--text-primary);transition:box-shadow var(--dur-normal) var(--ease-out),border-color var(--dur-normal) var(--ease-out);cursor:pointer}.profile-card:hover{box-shadow:var(--shadow-gold);border-color:var(--border-hover)}.profile-card-header{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.profile-card-header h3{font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.profile-card-stats{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;font-size:.8rem}.profile-card-stat{display:flex;flex-direction:column;align-items:center;gap:1px}.profile-card-stat-num{font-weight:700;font-size:1.1rem;font-family:var(--font-mono);line-height:1;color:var(--text-primary)}.profile-card-stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.profile-weight-sliders{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3) 0}.profile-weight-row{display:grid;grid-template-columns:120px 1fr 40px;gap:var(--sp-2);align-items:center;font-size:.8rem}.profile-weight-row label{color:var(--text-secondary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-weight-row input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--surface-3);outline:none;cursor:pointer}.profile-weight-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--sgh-gold);border:2px solid var(--surface-2);box-shadow:var(--shadow-sm);cursor:pointer}.profile-weight-row input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--sgh-gold);border:2px solid var(--surface-2);box-shadow:var(--shadow-sm);cursor:pointer}.profile-weight-value{font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--font-mono);color:var(--text-primary);text-align:right}.bid-checklist{display:flex;flex-direction:column;gap:var(--sp-1)}.bid-checklist-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);font-size:.85rem;border-radius:var(--radius);transition:background var(--dur-fast) ease}.bid-checklist-item:hover{background:var(--surface-3)}.bid-checklist-item input[type=checkbox]{width:16px;height:16px;flex-shrink:0;accent-color:var(--sgh-gold)}.bid-checklist-item-label{flex:1;min-width:0;color:var(--text-primary);transition:color var(--dur-fast) ease}.bid-checklist-item-due{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;flex-shrink:0}.bid-checklist-item.completed .bid-checklist-item-label{text-decoration:line-through;color:var(--text-muted)}.bid-checklist-item.completed .bid-checklist-item-check{color:var(--status-success)}.bid-checklist-item.overdue{background:var(--status-error-bg)}.bid-checklist-item.overdue .bid-checklist-item-due{color:var(--status-error);font-weight:600}@media(max-width:768px){.tender-page{grid-template-columns:1fr}.tender-filters{position:static;max-height:none;flex-direction:row;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3)}.tender-filter-group{border-bottom:none;padding-bottom:0;margin-bottom:0;min-width:140px;flex:1}.tender-detail{grid-template-columns:1fr;gap:var(--sp-5)}.tender-detail-sidebar{position:static;flex-direction:row;flex-wrap:wrap}.tender-detail-sidebar .card{flex:1;min-width:260px}.tender-detail-info{grid-template-columns:repeat(2,1fr)}.tender-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.bid-pipeline{flex-wrap:wrap;gap:var(--sp-2)}.bid-pipeline-step:after{display:none}.eval-criteria-row{grid-template-columns:1fr;gap:var(--sp-1)}.eval-decision-group{flex-direction:column}.profile-weight-row{grid-template-columns:1fr 2fr 32px}.tender-list .data-table{min-width:700px}}@media(max-width:480px){.tender-filters{flex-direction:column;gap:var(--sp-2)}.tender-filter-group{min-width:0}.tender-detail-info{grid-template-columns:1fr}.tender-detail-header h1{font-size:1.1rem}.tender-countdown{gap:var(--sp-2)}.tender-countdown-value{font-size:1.375rem}.tender-tabs{gap:0}.tender-tab{padding:6px 10px;font-size:.75rem}.score-bar-label{flex:0 0 70px;font-size:.7rem}.profile-card{padding:var(--sp-4)}.profile-card-header h3{font-size:1rem}.tender-detail-sidebar{flex-direction:column}.tender-detail-sidebar .card{min-width:0}.bid-pipeline-step-label{font-size:.6rem;max-width:55px}.bid-pipeline-step-circle{width:24px;height:24px;font-size:.6rem}}.watchlist-editor{display:flex;flex-direction:column;gap:var(--sp-2)}.watchlist-section{padding:var(--sp-4) 0;border-bottom:1px solid var(--border-subtle)}.watchlist-section:last-child{border-bottom:none}.watchlist-section-title{font-family:var(--font-display);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:var(--sp-3)}.watchlist-card{transition:box-shadow var(--dur-normal) var(--ease-out),border-color var(--dur-normal) var(--ease-out)}.watchlist-card:hover{box-shadow:var(--shadow-glow)}.watchlist-card-desc{font-size:.85rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--sp-3);min-height:1.2em}.watchlist-regions{display:flex;flex-wrap:wrap;gap:var(--sp-4)}.watchlist-region-block{min-width:160px;flex:1}.watchlist-region-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--sgh-gold);margin-bottom:var(--sp-2);padding-bottom:var(--sp-1);border-bottom:1px solid var(--border-subtle)}.watchlist-checks-row{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4)}.watchlist-weight-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-1) 0}.watchlist-weight-val{font-size:.85rem;font-weight:600;font-family:var(--font-mono);color:var(--text-primary)}.watchlist-weight-sum{font-size:.85rem;font-weight:700;font-family:var(--font-mono);padding:var(--sp-2) var(--sp-3);background:var(--surface-3);border-radius:var(--radius-sm);text-align:right;font-variant-numeric:tabular-nums;margin-bottom:var(--sp-2);color:var(--text-primary)}.watchlist-threshold-bar{margin-top:var(--sp-3)}.watchlist-score-bar{display:flex;width:100%;height:28px;border-radius:var(--radius-sm);overflow:hidden;font-size:.7rem;font-weight:600;font-family:var(--font-mono)}.watchlist-zone{display:flex;align-items:center;justify-content:center;min-width:40px;transition:width .3s ease}.watchlist-zone span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.watchlist-zone-p3{background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border-default);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.watchlist-zone-p2{background:var(--status-warning-bg);color:var(--status-warning);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}.watchlist-zone-p1{background:var(--status-error-bg);color:var(--status-error);border:1px solid var(--border-default);border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.watchlist-alert-row{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--border-subtle)}.watchlist-alert-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.watchlist-tier-badge{font-size:.7rem;font-weight:700;font-family:var(--font-mono);padding:2px 8px;border-radius:var(--radius-full);letter-spacing:.02em}.watchlist-tier-P1{background-color:var(--status-error-bg);color:var(--status-error)}.watchlist-tier-P2{background-color:var(--status-warning-bg);color:var(--status-warning)}.watchlist-tier-P3{background-color:var(--surface-3);color:var(--text-muted);border:1px solid var(--border-default)}.watchlist-matches-section{padding-top:var(--sp-4);border-top:1px solid var(--border-subtle);margin-top:var(--sp-4)}.watchlist-matches-list{display:flex;flex-direction:column;gap:var(--sp-1)}.watchlist-match-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);transition:background var(--dur-fast) ease}.watchlist-match-row:hover{background:var(--surface-3)}.watchlist-match-info{flex:1;min-width:0}.watchlist-match-title{font-size:.85rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist-match-meta{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.watchlist-match-score{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.watchlist-score-num{font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums;font-family:var(--font-mono);color:var(--text-primary)}.form-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:var(--sp-1);line-height:1.4}@media(max-width:768px){.watchlist-regions{flex-direction:column}.watchlist-weight-row{flex-wrap:wrap}.watchlist-weight-row label{min-width:100%}.watchlist-match-row{flex-direction:column;align-items:flex-start;gap:var(--sp-1)}}.xero-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-4);flex-wrap:wrap;gap:var(--sp-2)}.xero-header-info{display:flex;align-items:center;gap:var(--sp-3)}.xero-header-actions{display:flex;gap:var(--sp-2)}.xero-header-actions .btn-primary,.xero-header-actions [class*=sync]{background:var(--sgh-gold);color:var(--sgh-navy);border:none;font-weight:600;transition:background var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.xero-header-actions .btn-primary:hover,.xero-header-actions [class*=sync]:hover{background:var(--sgh-gold-light);box-shadow:var(--shadow-gold)}.xero-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-default);margin-bottom:var(--sp-6)}.xero-tab{padding:var(--sp-3) var(--sp-5);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.xero-tab:hover{color:var(--text-primary)}.xero-tab-active{color:var(--sgh-gold);border-bottom-color:var(--sgh-gold)}.xero-stat-card{padding:var(--sp-5);text-align:center;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.xero-stat-value{font-size:1.75rem;font-weight:700;font-family:var(--font-display);line-height:1.2;margin-bottom:var(--sp-1);color:var(--text-primary)}.xero-stat-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:var(--sp-1)}.xero-stat-warning{color:var(--status-warning)}.xero-stat-danger{color:var(--status-error)}.xero-bulk-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) var(--sp-4);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius);margin-bottom:var(--sp-4);flex-wrap:wrap;gap:var(--sp-2)}.xero-bulk-info{display:flex;align-items:center;gap:var(--sp-4)}.xero-checkbox-label{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;font-size:14px;color:var(--text-secondary)}.xero-filter-bar{display:flex;gap:var(--sp-3);align-items:center;margin-bottom:var(--sp-4);flex-wrap:wrap}.xero-content{min-height:200px}.xero-content .data-table,.xero-content table{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius);overflow:hidden}.xero-content .data-table th,.xero-content table th{background:var(--surface-3);color:var(--text-secondary);border-bottom:1px solid var(--border-default)}.xero-content .data-table td,.xero-content table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.xero-content .data-table tr:hover td,.xero-content table tr:hover td{background:var(--surface-3)}.xero-overdue,.xero-content [class*=overdue],.xero-content .status-overdue{color:var(--status-error);font-weight:600}.xero-overdue-badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);background:var(--status-error-bg);color:var(--status-error);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.xero-audit,.xero-billing-audit{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-5)}.xero-audit-header{color:var(--text-primary);font-family:var(--font-display);font-weight:600;margin-bottom:var(--sp-4)}.xero-audit-row{display:flex;justify-content:space-between;padding:var(--sp-2) 0;border-bottom:1px solid var(--border-subtle);font-size:.8125rem;color:var(--text-secondary)}.xero-audit-row:last-child{border-bottom:none}@media(max-width:768px){.xero-header{flex-direction:column;align-items:flex-start}.xero-tabs{overflow-x:auto;flex-wrap:nowrap}.xero-tab{white-space:nowrap;padding:var(--sp-2) var(--sp-3);font-size:13px}.xero-stat-value{font-size:1.25rem}.xero-bulk-bar{flex-direction:column;align-items:flex-start}}:root{--airtight-teal: #14b8a6;--airtight-teal-light: #2dd4bf;--airtight-teal-dim: rgba(20, 184, 166, .15);--airtight-teal-faint: rgba(20, 184, 166, .08);--airtight-teal-glow: rgba(20, 184, 166, .18)}.airtight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-4);flex-wrap:wrap;gap:var(--sp-2)}.airtight-header-info{display:flex;align-items:center;gap:var(--sp-3)}.airtight-header-badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);background:var(--airtight-teal-faint);border:1px solid var(--airtight-teal-dim);border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--airtight-teal)}.airtight-header-badge:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--airtight-teal);animation:airtight-pulse 2s ease-in-out infinite}@keyframes airtight-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.airtight-header-actions{display:flex;gap:var(--sp-2)}.airtight-header-actions .btn-primary,.airtight-header-actions [class*=sync],#airtight-sync-btn{background:var(--airtight-teal);color:var(--sgh-navy);border:none;font-weight:600;transition:background var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.airtight-header-actions .btn-primary:hover,.airtight-header-actions [class*=sync]:hover,#airtight-sync-btn:hover:not(:disabled){background:var(--airtight-teal-light);box-shadow:0 0 0 3px var(--airtight-teal-dim)}.airtight-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-default);margin-bottom:var(--sp-6)}.airtight-tab{padding:var(--sp-3) var(--sp-5);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.airtight-tab:hover{color:var(--text-primary)}.airtight-tab-active{color:var(--airtight-teal);border-bottom-color:var(--airtight-teal)}.airtight-stat-card{padding:var(--sp-5);text-align:center;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color var(--dur-fast) ease}.airtight-stat-card:hover{border-color:var(--airtight-teal-dim)}.airtight-stat-value{font-size:1.75rem;font-weight:700;font-family:var(--font-display);line-height:1.2;margin-bottom:var(--sp-1);color:var(--text-primary)}.airtight-stat-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:var(--sp-1)}.airtight-stat-teal{color:var(--airtight-teal)}.airtight-stat-warning{color:var(--status-warning)}.airtight-stat-danger{color:var(--status-error)}.airtight-bulk-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) var(--sp-4);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius);margin-bottom:var(--sp-4);flex-wrap:wrap;gap:var(--sp-2)}.airtight-bulk-info{display:flex;align-items:center;gap:var(--sp-4)}.airtight-checkbox-label{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;font-size:14px;color:var(--text-secondary)}.airtight-filter-bar{display:flex;gap:var(--sp-3);align-items:center;margin-bottom:var(--sp-4);flex-wrap:wrap}.airtight-content{min-height:200px}.airtight-content .data-table,.airtight-content table{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius);overflow:hidden}.airtight-content .data-table th,.airtight-content table th{background:var(--surface-3);color:var(--text-secondary);border-bottom:1px solid var(--border-default)}.airtight-content .data-table td,.airtight-content table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.airtight-content .data-table tr:hover td,.airtight-content table tr:hover td{background:var(--surface-3)}.airtight-status-draft{background:#94a3b81f;color:#94a3b8}.airtight-status-sent{background:#14b8a61f;color:var(--airtight-teal)}.airtight-status-viewed{background:#60a5fa1f;color:var(--status-info)}.airtight-status-partially_paid{background:#f59e0b1f;color:var(--status-warning)}.airtight-status-paid{background:#34d3991f;color:var(--status-success)}.airtight-status-overdue{background:#ef44441f;color:var(--status-error)}.airtight-status-voided{background:#94a3b814;color:#64748b;text-decoration:line-through}.airtight-overdue,.airtight-content [class*=overdue],.airtight-content .status-overdue{color:var(--status-error);font-weight:600}.airtight-overdue-badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);background:var(--status-error-bg);color:var(--status-error);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.airtight-audit,.airtight-billing-audit{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-5)}.airtight-audit-header{color:var(--text-primary);font-family:var(--font-display);font-weight:600;margin-bottom:var(--sp-4)}.airtight-audit-row{display:flex;justify-content:space-between;padding:var(--sp-2) 0;border-bottom:1px solid var(--border-subtle);font-size:.8125rem;color:var(--text-secondary)}.airtight-audit-row:last-child{border-bottom:none}.airtight-content tr.airtight-sub-row td{background:var(--surface-1);font-size:.875rem}.airtight-content tr.airtight-sub-row:hover td{background:var(--surface-2)}@media(max-width:768px){.airtight-header{flex-direction:column;align-items:flex-start}.airtight-tabs{overflow-x:auto;flex-wrap:nowrap}.airtight-tab{white-space:nowrap;padding:var(--sp-2) var(--sp-3);font-size:13px}.airtight-stat-value{font-size:1.25rem}.airtight-bulk-bar,.airtight-filter-bar{flex-direction:column;align-items:flex-start}}:root{--g-arrow-color: #1f2937;--g-bar-color: #fff;--g-bar-border: #fff;--g-tick-color-thick: #ededed;--g-tick-color: #f3f3f3;--g-actions-background: #f3f3f3;--g-border-color: #ebeff2;--g-text-muted: #7c7c7c;--g-text-light: #fff;--g-text-dark: #171717;--g-progress-color: #dbdbdb;--g-handle-color: #37352f;--g-weekend-label-color: #dcdce4;--g-expected-progress: #c4c4e9;--g-header-background: #fff;--g-row-color: #fdfdfd;--g-row-border-color: #c7c7c7;--g-today-highlight: #37352f;--g-popup-actions: #ebeff2;--g-weekend-highlight-color: #f7f7f7}html[data-theme=dark]{--g-arrow-color: #e5e5e5;--g-bar-color: #2a2a2a;--g-bar-border: #3a3a3a;--g-tick-color-thick: #1a1a1a;--g-tick-color: #0a0a0a;--g-actions-background: #1a1a1a;--g-border-color: #2a2a2a;--g-text-muted: #999999;--g-text-light: #ffffff;--g-text-dark: #f5f5f5;--g-progress-color: #4a4a4a;--g-handle-color: #d0d0d0;--g-weekend-label-color: #3a3a3a;--g-expected-progress: #5a5a5a;--g-header-background: #0a0a0a;--g-row-color: #141414;--g-row-border-color: #2a2a2a;--g-today-highlight: #999999;--g-popup-actions: #1a1a1a;--g-weekend-highlight-color: #0f0f0f}.gantt-container{line-height:14.5px;position:relative;overflow:auto;font-size:12px;height:var(--gv-grid-height);width:100%;border-radius:8px;isolation:isolate}.gantt-container .popup-wrapper{position:absolute;top:0;left:0;background:var(--g-header-background);box-shadow:0 10px 24px -3px #0003;padding:10px;border-radius:5px;width:max-content;z-index:1000}.gantt-container .popup-wrapper .title{margin-bottom:2px;color:var(--g-text-dark);font-size:.85rem;font-weight:650;line-height:15px}.gantt-container .popup-wrapper .subtitle{color:var(--g-text-dark);font-size:.8rem;margin-bottom:5px}.gantt-container .popup-wrapper .details{color:var(--g-text-muted);font-size:.7rem}.gantt-container .popup-wrapper .actions{margin-top:10px;margin-left:3px}.gantt-container .popup-wrapper .action-btn{border:none;padding:5px 8px;background-color:var(--g-popup-actions);border-right:1px solid var(--g-border-color)}.gantt-container .popup-wrapper .action-btn:hover{filter:brightness(97%)}.gantt-container .popup-wrapper .action-btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt-container .popup-wrapper .action-btn:last-child{border-right:none;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt-container .grid-header{height:calc(var(--gv-lower-header-height) + var(--gv-upper-header-height) + 10px);background-color:var(--g-header-background);position:sticky;top:0;left:0;border-bottom:1px solid var(--g-row-border-color);z-index:1000}.gantt-container .lower-text,.gantt-container .upper-text{text-anchor:middle}.gantt-container .upper-header{height:var(--gv-upper-header-height)}.gantt-container .lower-header{height:var(--gv-lower-header-height)}.gantt-container .lower-text{font-size:12px;position:absolute;width:calc(var(--gv-column-width) * .8);height:calc(var(--gv-lower-header-height) * .8);margin:0 calc(var(--gv-column-width) * .1);align-content:center;text-align:center;color:var(--g-text-muted)}.gantt-container .upper-text{position:absolute;width:fit-content;font-weight:500;font-size:14px;color:var(--g-text-dark);height:calc(var(--gv-lower-header-height) * .66)}.gantt-container .current-upper{position:sticky;left:0!important;padding-left:17px;background:var(--g-header-background)}.gantt-container .side-header{position:sticky;top:0;right:0;float:right;z-index:1000;line-height:20px;font-weight:400;width:max-content;margin-left:auto;padding-right:10px;padding-top:10px;background:var(--g-header-background);display:flex}.gantt-container .side-header *{transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--g-actions-background);border-radius:.5rem;border:none;padding:5px 8px;color:var(--g-text-dark);font-size:14px;letter-spacing:.02em;font-weight:420;box-sizing:content-box;margin-right:5px}.gantt-container .side-header *:last-child{margin-right:0}.gantt-container .side-header *:hover{filter:brightness(97.5%)}.gantt-container .side-header select{width:60px;padding-top:2px;padding-bottom:2px}.gantt-container .side-header select:focus{outline:none}.gantt-container .date-range-highlight{background-color:var(--g-progress-color);border-radius:12px;height:calc(var(--gv-lower-header-height) - 6px);top:calc(var(--gv-upper-header-height) + 5px);position:absolute}.gantt-container .current-highlight{position:absolute;background:var(--g-today-highlight);width:1px;z-index:999}.gantt-container .current-ball-highlight{position:absolute;background:var(--g-today-highlight);z-index:1001;border-radius:50%}.gantt-container .current-date-highlight{background:var(--g-today-highlight);color:var(--g-text-light);border-radius:5px}.gantt-container .holiday-label{position:absolute;top:0;left:0;opacity:0;z-index:1000;background:var(--g-weekend-label-color);border-radius:5px;padding:2px 5px}.gantt-container .holiday-label.show{opacity:100}.gantt-container .extras{position:sticky;left:0}.gantt-container .extras .adjust{position:absolute;left:8px;top:calc(var(--gv-grid-height) - 60px);background-color:var(--g-actions-background);color:var(--g-text-light);border:none;padding:8px;border-radius:3px}.gantt-container .hide{display:none}.gantt{user-select:none;-webkit-user-select:none;position:absolute}.gantt .grid-background{fill:none}.gantt .grid-row{fill:var(--g-row-color)}.gantt .row-line{stroke:var(--g-border-color)}.gantt .tick{stroke:var(--g-tick-color);stroke-width:.4}.gantt .tick.thick{stroke:var(--g-tick-color-thick);stroke-width:.7}.gantt .arrow{fill:none;stroke:var(--g-arrow-color);stroke-width:1.5}.gantt .bar-wrapper .bar{fill:var(--g-bar-color);stroke:var(--g-bar-border);stroke-width:0;transition:stroke-width .3s ease}.gantt .bar-progress{fill:var(--g-progress-color);border-radius:4px}.gantt .bar-expected-progress{fill:var(--g-expected-progress)}.gantt .bar-invalid{fill:transparent;stroke:var(--g-bar-border);stroke-width:1;stroke-dasharray:5}:is(.gantt .bar-invalid)~.bar-label{fill:var(--g-text-light)}.gantt .bar-label{fill:var(--g-text-dark);dominant-baseline:central;font-family:Helvetica;font-size:13px;font-weight:400}.gantt .bar-label.big{fill:var(--g-text-dark);text-anchor:start}.gantt .handle{fill:var(--g-handle-color);opacity:0;transition:opacity .3s ease}.gantt .handle.active,.gantt .handle.visible{cursor:ew-resize;opacity:1}.gantt .handle.progress{fill:var(--g-text-muted)}.gantt .bar-wrapper{cursor:pointer}.gantt .bar-wrapper .bar{outline:1px solid var(--g-row-border-color);border-radius:3px}.gantt .bar-wrapper:hover .bar{transition:transform .3s ease}.gantt .bar-wrapper:hover .date-range-highlight{display:block}.gantt .grid-column{fill:transparent;pointer-events:all}.gantt .grid-column:hover{fill:var(--g-weekend-highlight-color);transition:fill .1s ease}.bella-chat-page{display:flex;flex-direction:column;height:calc(100vh - var(--header-h) - 4rem)}.bella-chat-toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--sp-4);border-bottom:1px solid var(--border-default);margin-bottom:var(--sp-4)}.bella-chat-toolbar-title{font-family:var(--font-display);font-size:1.5rem;color:var(--sgh-gold)}.bella-chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-4) 0}.bella-message{display:flex;align-items:flex-start;gap:var(--sp-3)}.bella-message--user{flex-direction:row-reverse}.bella-message--bella{flex-direction:row}.bella-message-bubble{padding:var(--sp-3) var(--sp-4);max-width:72%;line-height:1.6;font-size:.875rem;color:var(--text-primary)}.bella-message--user .bella-message-bubble{background:var(--sgh-gold-faint);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-lg) var(--radius-sm) var(--radius-lg) var(--radius-lg)}.bella-message--bella .bella-message-bubble{background:var(--surface-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg);box-shadow:0 1px 3px #0003}.bella-message-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--sgh-gold),var(--sgh-gold-light));display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--sgh-navy)}.bella-message-body{display:flex;flex-direction:column;max-width:72%}.bella-message-time{font-size:.65rem;color:var(--text-muted);margin-top:var(--sp-1)}.bella-message--user .bella-message-time{text-align:right}.bella-tool-calls{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3)}.bella-tool-card{display:flex;align-items:center;gap:var(--sp-2);background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:6px 12px;font-size:.75rem;color:var(--text-secondary);transition:all var(--dur-normal) ease}.bella-tool-card--done{background:var(--status-success-bg);border-color:#34d39933;color:var(--status-success)}.bella-tool-icon{font-size:.875rem}.bella-tool-name{font-weight:500}.bella-tool-status{margin-left:auto;font-style:italic}.bella-tool-card-spinner{width:14px;height:14px;border:2px solid var(--border-default);border-top-color:var(--sgh-gold);border-radius:50%;animation:bella-spin .8s linear infinite}.bella-tool-card--done .bella-tool-card-spinner{display:none}.bella-typing{display:flex;align-items:flex-start;gap:var(--sp-3)}.bella-typing-dots{display:flex;gap:4px;padding:12px 16px;background:var(--surface-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg)}.bella-typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--sgh-gold);animation:bella-dot-bounce 1.2s infinite}.bella-typing-dots span:nth-child(2){animation-delay:.2s}.bella-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes bella-dot-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}.bella-context-badge{display:flex;align-items:center;gap:var(--sp-2);background:var(--sgh-gold-faint);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:6px 12px;font-size:.75rem;color:var(--text-secondary);margin-bottom:var(--sp-3)}.bella-context-badge .bella-context-label{font-weight:600;color:var(--sgh-gold)}.bella-context-badge button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:0 2px;opacity:.6;transition:opacity var(--dur-fast) ease,color var(--dur-fast) ease}.bella-context-badge button:hover{opacity:1;color:var(--status-error)}.bella-chat-input-row{flex-shrink:0;border-top:1px solid var(--border-default);padding-top:var(--sp-4)}.bella-input-wrapper{display:flex;gap:var(--sp-3);align-items:flex-end}.bella-input{flex:1;resize:none;min-height:44px;max-height:200px;font-family:var(--font-body);font-size:.875rem;background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius);padding:var(--sp-3);line-height:1.5;transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.bella-input::placeholder{color:var(--text-muted)}.bella-input:focus{outline:none;border-color:var(--sgh-gold);box-shadow:0 0 0 3px #c9a84c26}.bella-send-btn{flex-shrink:0;height:44px;padding:0 var(--sp-5);background:var(--sgh-gold);color:var(--sgh-navy);border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:.875rem;font-weight:600;cursor:pointer;transition:background var(--dur-fast) ease}.bella-send-btn:hover{background:var(--sgh-gold-light)}.bella-send-btn:disabled{opacity:.5;cursor:not-allowed}.bella-error-card{background:var(--status-error-bg);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);padding:8px 12px;font-size:.75rem;color:var(--status-error);margin-top:var(--sp-2)}.bella-quick-prompts{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.bella-quick-prompt{background:var(--sgh-gold-faint);border:1px solid var(--border-default);border-radius:var(--radius);padding:4px 10px;font-size:.75rem;font-family:var(--font-body);color:var(--sgh-gold);cursor:pointer;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease}.bella-quick-prompt:hover{background:var(--sgh-gold-dim);border-color:var(--sgh-gold)}.bella-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:var(--sp-3);color:var(--text-muted);text-align:center;padding:var(--sp-4)}.bella-empty-state p{font-size:.875rem;max-width:300px;color:var(--text-secondary)}.bella-message--bella .bella-message-bubble p{margin:0 0 8px}.bella-message--bella .bella-message-bubble p:last-child{margin-bottom:0}.bella-message--bella .bella-message-bubble code{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:3px;padding:1px 5px;font-family:var(--font-mono);font-size:.8rem;color:var(--sgh-gold-light)}.bella-message--bella .bella-message-bubble pre{background:var(--surface-base);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:var(--radius);padding:12px 16px;overflow-x:auto;margin:8px 0}.bella-message--bella .bella-message-bubble pre code{background:none;border:none;padding:0;color:inherit;font-size:.75rem}.bella-message--bella .bella-message-bubble ul,.bella-message--bella .bella-message-bubble ol{padding-left:20px;margin:6px 0}.bella-message--bella .bella-message-bubble ul{list-style:disc}.bella-message--bella .bella-message-bubble ol{list-style:decimal}.bella-message--bella .bella-message-bubble li{margin-bottom:3px;color:var(--text-primary)}.bella-message--bella .bella-message-bubble table{width:100%;border-collapse:collapse;margin:8px 0;font-size:.8rem}.bella-message--bella .bella-message-bubble th{background:var(--surface-base);color:var(--sgh-gold);padding:6px 10px;text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-default)}.bella-message--bella .bella-message-bubble td{padding:6px 10px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.bella-message--bella .bella-message-bubble a{color:var(--sgh-gold);text-decoration:underline;text-decoration-color:#c9a84c66;text-underline-offset:2px;transition:text-decoration-color var(--dur-fast) ease}.bella-message--bella .bella-message-bubble a:hover{text-decoration-color:var(--sgh-gold)}.bella-message--bella .bella-message-bubble h1,.bella-message--bella .bella-message-bubble h2,.bella-message--bella .bella-message-bubble h3{font-family:var(--font-display);color:var(--text-primary);margin:12px 0 6px}.bella-message--bella .bella-message-bubble blockquote{border-left:3px solid var(--sgh-gold);padding-left:12px;color:var(--text-secondary);margin:8px 0}.bella-message--bella .bella-message-bubble strong{color:var(--text-primary);font-weight:600}.bella-message--bella .bella-message-bubble em{color:var(--text-secondary)}.bella-message--bella .bella-message-bubble hr{border:none;border-top:1px solid var(--border-subtle);margin:12px 0}@keyframes bella-spin{to{transform:rotate(360deg)}}
