@import url(https://api.fontshare.com/v2/css?f[]=clash-grotesk@300,400,500,600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600&family=Public+Sans:wght@300;400;500;600;700;800&display=swap);:root{--red:#ef4237;--red-dark:#c7352b;--navy:#183c44;--teal:#183c44;--accent:#2b6470;--accent-soft:color-mix(in srgb,#2b6470 12%,#0000);--beige:#e5d8ce;--beige-ink:#8c7462;--neutral-bg:#f9f9f9;--neutral-border:#e5e3df;--neutral-mid:#888780;--neutral-dark:#1a1a1a;--white:#fff;--success:#059669;--success-bg:#ecfdf5;--warning:#d97706;--warning-bg:#fffbeb;--danger:#dc2626;--danger-bg:#fef2f2;--info:#2563eb;--info-bg:#eff6ff;--red-bg:#d138330f;--warm:#fdf8f3;--warm2:#f5ede2;--warm-bdr:#b4825026;--card:#fff;--brand-solid:var(--brand-custom,#183c44);--brand-solid-hover:#214f59;--off:#f6f5f2;--surf:#edece9;--bdr:#00000012;--bdr2:#0000001c;--txt:#1a1a1a;--mut:#6b6b69;--hint:#8c8c8a;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 8px -1px #00000012,0 2px 4px -2px #0000000a;--shadow-lg:0 12px 24px -4px #00000014,0 4px 8px -4px #0000000a;--shadow-card:0 1px 4px #0000000d,0 0 0 1px #0000000d;--sidebar-width:248px;--side-bg:#f7f7f5;--side-txt:#3a3a38;--side-hover:rgba(0,0,0,.045);--side-active:#fff;--radius:8px;--radius-lg:12px;--radius-xl:16px;--transition:0.15s ease;--font-display:"Public Sans",sans-serif;--font-body:"Public Sans",sans-serif;--font-ui:"Public Sans",sans-serif;--fd:"Public Sans",sans-serif;--fb:"Public Sans",sans-serif;--fu:"Public Sans",sans-serif}:root:not([data-theme=light]){color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--accent:#8fbac1;--accent-soft:#8fbac124;--card:#1c1c1b;--off:#121212;--surf:#262625;--bdr:#ffffff17;--bdr2:#ffffff29;--txt:#f3f1ee;--navy:#f3f1ee;--mut:#aba8a3;--hint:#858380;--brand-solid:#2e545f;--brand-solid-hover:#3a6674;--neutral-bg:#1c1c1b;--neutral-border:#ffffff1f;--neutral-mid:#aba8a3;--neutral-dark:#f3f1ee;--white:#1c1c1b;--warm:#1c1a17;--warm2:#241f1a;--warm-bdr:#d4a86a2e;--success:#34d399;--success-bg:#34d39921;--warning:#fbbf24;--warning-bg:#fbbf2421;--danger:#f87171;--danger-bg:#f8717121;--info:#60a5fa;--info-bg:#60a5fa21;--red-bg:#ee3c2426;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #00000073,0 1px 2px #0000004d;--shadow-md:0 4px 8px -1px #00000080,0 2px 4px -2px #00000059;--shadow-lg:0 12px 24px -4px #0000008c,0 4px 8px -4px #00000059;--shadow-card:0 1px 4px #0006,0 0 0 1px #ffffff0f;color-scheme:dark}}:root[data-theme=dark]{--accent:#8fbac1;--accent-soft:#8fbac124;--card:#1c1c1b;--off:#121212;--surf:#262625;--bdr:#ffffff17;--bdr2:#ffffff29;--txt:#f3f1ee;--navy:#f3f1ee;--mut:#aba8a3;--hint:#858380;--brand-solid:#2e545f;--brand-solid-hover:#3a6674;--neutral-bg:#1c1c1b;--neutral-border:#ffffff1f;--neutral-mid:#aba8a3;--neutral-dark:#f3f1ee;--white:#1c1c1b;--warm:#1c1a17;--warm2:#241f1a;--warm-bdr:#d4a86a2e;--success:#34d399;--success-bg:#34d39921;--warning:#fbbf24;--warning-bg:#fbbf2421;--danger:#f87171;--danger-bg:#f8717121;--info:#60a5fa;--info-bg:#60a5fa21;--red-bg:#ee3c2426;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #00000073,0 1px 2px #0000004d;--shadow-md:0 4px 8px -1px #00000080,0 2px 4px -2px #00000059;--shadow-lg:0 12px 24px -4px #0000008c,0 4px 8px -4px #00000059;--shadow-card:0 1px 4px #0006,0 0 0 1px #ffffff0f;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-wrap:pretty;background:#f9f9f9;background:var(--neutral-bg);color:#1a1a1a;color:var(--neutral-dark);font-family:Public Sans,sans-serif;font-family:var(--font-body);font-size:16px;line-height:1.6}.record-link{color:inherit;text-decoration:none;text-underline-offset:2px}.record-link:focus-visible,.record-link:hover{text-decoration:underline}.card-title,button,h1,h2,h3,h4,h5,h6,label,th{text-wrap:balance}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#e5e3df;background:var(--neutral-border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#ccc}.text-muted{color:#888780;color:var(--neutral-mid)}.text-red{color:#ef4237;color:var(--red)}.badge{border-radius:20px;display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;white-space:nowrap}.badge-hot{background:#fef2f2;background:var(--danger-bg);color:#dc2626;color:var(--danger)}.badge-warm{background:#fffbeb;background:var(--warning-bg);color:#d97706;color:var(--warning)}.badge-active{background:#ecfdf5;background:var(--success-bg);color:#059669;color:var(--success)}.badge-info{background:#eff6ff;background:var(--info-bg);color:#2563eb;color:var(--info)}.badge-neutral{background:#eeecea;color:#888780;color:var(--neutral-mid)}.badge-pending{background:#fffbeb;background:var(--warning-bg);color:#d97706;color:var(--warning)}.badge-approved{background:#ecfdf5;background:var(--success-bg);color:#059669;color:var(--success)}.badge-revision{background:#fef2f2;background:var(--danger-bg);color:#dc2626;color:var(--danger)}.badge-paid{background:#ecfdf5;background:var(--success-bg);color:#059669;color:var(--success)}.badge-overdue{background:#fef2f2;background:var(--danger-bg);color:#dc2626;color:var(--danger)}.badge-sent{background:#eff6ff;background:var(--info-bg);color:#2563eb;color:var(--info)}.card{background:var(--white);border:1px solid #00000012;border:1px solid var(--bdr);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-sm);padding:22px}.card-sm{padding:14px 18px}.btn{align-items:center;border:1px solid #0000;border-radius:8px;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:13px;font-weight:600;gap:6px;outline:none;padding:9px 18px;transition:background .15s ease,box-shadow .15s ease,transform .15s ease;transition:background var(--transition),box-shadow var(--transition),transform var(--transition);white-space:nowrap}.btn:active{transform:scale(.98)}.btn:focus-visible{box-shadow:0 0 0 3px #112b3226}.btn-primary{background:color-mix(in srgb,#2b6470 12%,#0000);background:var(--accent-soft);border-color:color-mix(in srgb,#2b6470 40%,#0000);border-color:color-mix(in srgb,var(--accent) 40%,#0000);color:#2b6470;color:var(--accent);font-weight:600}.btn-primary:hover{background:color-mix(in srgb,#2b6470 20%,#0000);background:color-mix(in srgb,var(--accent) 20%,#0000)}.btn-navy{background:color-mix(in srgb,#2b6470 12%,#0000);background:var(--accent-soft);border-color:color-mix(in srgb,#2b6470 40%,#0000);border-color:color-mix(in srgb,var(--accent) 40%,#0000);color:#2b6470;color:var(--accent);font-weight:600}.btn-navy:hover{background:color-mix(in srgb,#2b6470 20%,#0000);background:color-mix(in srgb,var(--accent) 20%,#0000)}.btn-outline{background:#fff;background:var(--white);border-color:#e5e3df;border-color:var(--neutral-border);box-shadow:0 1px 2px #0000000a;box-shadow:var(--shadow-xs);color:#1a1a1a;color:var(--neutral-dark)}.btn-outline:hover{background:#f9f9f9;background:var(--neutral-bg);border-color:#ccc}.btn-ghost{background:#0000;border:none;color:#888780;color:var(--neutral-mid);padding:6px 10px}.btn-ghost:hover{background:#f9f9f9;background:var(--neutral-bg);color:#1a1a1a;color:var(--neutral-dark)}.btn-sm{font-size:12px;padding:5px 12px}.btn-xs{font-size:11px;padding:4px 10px}.btn-full{justify-content:center;width:100%}.btn:disabled{cursor:not-allowed;opacity:.45;transform:none}.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}.form-label{color:#888780;color:var(--neutral-mid);font-family:Public Sans,sans-serif;font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.form-input{background:#fff;background:var(--white);border:1px solid #e5e3df;border:1px solid var(--neutral-border);border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000a;box-shadow:var(--shadow-xs);color:#1a1a1a;color:var(--neutral-dark);font-size:14px;padding:10px 13px;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-input:focus{border-color:#183c44;border-color:var(--navy);box-shadow:0 0 0 3px #112b3214;outline:none}.form-input::placeholder{color:#c0bdb9}.progress-track{background:#f9f9f9;background:var(--neutral-bg);border-radius:10px;height:5px;overflow:hidden}.progress-fill{background:#ef4237;background:var(--red);border-radius:10px;height:100%;transition:width .5s ease}.divider{border-top:1px solid #e5e3df;border-top:1px solid var(--neutral-border);margin:16px 0}.spinner{animation:spin .65s linear infinite;border:2px solid #e5e3df;border-top-color:#183c44;border:2px solid var(--neutral-border);border-radius:50%;border-top-color:var(--navy);display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading-screen{align-items:center;background:#f9f9f9;background:var(--neutral-bg);display:flex;flex-direction:column;gap:16px;height:100vh;justify-content:center}.main-content,.portal-layout{display:flex;min-height:100vh}.main-content{flex:1 1;flex-direction:column;margin-left:248px;margin-left:var(--sidebar-width)}.page-body{flex:1 1;padding:24px 20px}.page-title{font-family:var(--font-display);font-size:26px;font-weight:500;letter-spacing:-.015em;margin-bottom:3px}.page-subtitle{color:#888780;color:var(--neutral-mid);font-size:13px}.grid-2{grid-gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{background:#f9f9f9;background:var(--neutral-bg);border-radius:8px;border-radius:var(--radius);padding:16px}.metric-label{color:#888780;color:var(--neutral-mid);font-size:11px;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.metric-value{color:#183c44;color:var(--navy);font-size:28px;font-weight:500}.metric-delta{font-size:11px;margin-top:4px}.data-table{border-collapse:collapse;font-size:14px;width:100%}.data-table th{background:rgba(0,0,0,.015);border-bottom:1px solid #e5e3df;border-bottom:1px solid var(--neutral-border);color:#8c8c8a;color:var(--hint);font-size:11px;font-weight:600;letter-spacing:.06em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{border-bottom:1px solid #0000000d;color:#1a1a1a;color:var(--neutral-dark);padding:13px 14px;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .15s ease;transition:background var(--transition)}.data-table tbody tr:hover td{background:rgba(17,43,50,.025)}.empty-state{color:#888780;color:var(--neutral-mid);padding:52px 24px}.empty-state p{font-size:13px;margin-top:8px}.alert{border-radius:8px;border-radius:var(--radius);font-size:13px;margin-bottom:16px;padding:12px 16px}.alert-success{background:#ecfdf5;background:var(--success-bg);border:1px solid #a7f3d0;color:#065f46}.alert-danger{background:#fef2f2;background:var(--danger-bg);border:1px solid #fca5a5;color:#dc2626;color:var(--danger)}.alert-info{background:#eff6ff;background:var(--info-bg);border:1px solid #bfdbfe;color:#2563eb;color:var(--info)}.sidebar{transition:transform .25s ease,width .18s ease,padding .18s ease}.main-content{transition:margin-left .18s ease}.sidebar-nav-item{cursor:pointer}.sidebar-nav-item:hover{background:rgba(0,0,0,.045)!important;background:var(--side-hover)!important}.sidebar-nav-item.is-active,.sidebar-nav-item.is-active:hover{background:#fff!important;background:var(--side-active)!important}.sidebar-nav-item:focus-visible{outline:2px solid #ef4237;outline:2px solid var(--red);outline-offset:1px}:root[data-theme=dark]{--side-bg:#141414;--side-txt:#d6d3ce;--side-hover:#ffffff0f;--side-active:#2a2a29}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--side-bg:#141414;--side-txt:#d6d3ce;--side-hover:#ffffff0f;--side-active:#2a2a29}}.sidebar-backdrop{display:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.pill{border:1px solid #00000012;border:1px solid var(--bdr);display:inline-block;font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:10px;font-weight:600;letter-spacing:.03em;line-height:1.5;padding:3px 10px}.pill-blue,.pill-green,.pill-navy,.pill-warm,.pill-yellow{background:#edece9;background:var(--surf);color:#1a1a1a;color:var(--txt)}.pill-gray{color:#6b6b69;color:var(--mut)}.pill-gray,.pill-red{background:#edece9;background:var(--surf)}.pill-red{border-color:color-mix(in srgb,#ef4237 40%,#00000012);border-color:color-mix(in srgb,var(--red) 40%,var(--bdr));color:#ef4237;color:var(--red)}.sec-div{align-items:center;display:flex;gap:14px;margin:28px 0 18px}.sec-div-label{color:#8c8c8a;color:var(--hint);font-family:Public Sans,sans-serif;font-family:var(--fd);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.sec-div-line{background:#00000012;background:var(--bdr);flex:1 1;height:1px}.eyebrow{color:#ef4237;color:var(--red);font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:10px;font-weight:600;letter-spacing:.14em;margin-bottom:5px;text-transform:uppercase}.metric-new{background:#fff;background:var(--white);border:1px solid #00000012;border:1px solid var(--bdr);border-radius:12px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-sm);overflow:hidden;padding:20px 22px 18px;position:relative;transition:box-shadow .2s ease}.metric-new:hover{box-shadow:0 4px 8px -1px #00000012,0 2px 4px -2px #0000000a;box-shadow:var(--shadow-md)}.metric-new:after{background:#00000012;background:var(--bdr);border-radius:12px 12px 0 0;content:"";height:2px;left:0;position:absolute;right:0;top:0}.metric-new.m-red:after{background:#ef4237;background:var(--red)}.metric-new.m-amber:after,.metric-new.m-blue:after,.metric-new.m-green:after,.metric-new.m-purple:after,.metric-new.m-teal:after{background:#1a1a1a;background:var(--txt)}.m-label-new{color:#8c8c8a;color:var(--hint);font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:10px;font-weight:600;letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}.m-value-new{color:#183c44;color:var(--navy);font-family:Public Sans,sans-serif;font-family:var(--fd);font-size:32px;font-weight:500;letter-spacing:-.02em;line-height:1}.m-sub-new{color:#8c8c8a;color:var(--hint);font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:11px;margin-top:7px}.chart-card{background:#fff;background:var(--white);border:1px solid #00000012;border:1px solid var(--bdr);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-sm);padding:20px 24px}.chart-label{color:#8c8c8a;color:var(--hint);font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:10px;font-weight:600;letter-spacing:.09em;margin-bottom:4px;text-transform:uppercase}.chart-value{color:#183c44;color:var(--navy);font-family:Public Sans,sans-serif;font-family:var(--fd);font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1;margin-bottom:16px}@media (max-width:640px){.login-brand{display:none!important}.login-auth{align-items:flex-start!important;padding:48px 24px 36px!important}.login-mobile-logo{display:flex!important}}.auth-input:focus{border-color:#183c44!important;border-color:var(--navy)!important;box-shadow:0 0 0 3px #112b321f}@media (max-width:760px){.auth-brand{flex-basis:100%!important;gap:14px!important;padding:40px 24px 28px!important}.auth-brand-extra,.auth-brand-spacer{display:none!important}.auth-brand-headline{font-size:26px!important;line-height:1.15!important}.auth-main{align-items:flex-start!important;flex-basis:100%!important;padding:24px!important}}@media (max-width:768px){.sidebar{transform:translateX(-100%);z-index:200!important}.sidebar.sidebar-open{transform:translateX(0)}.sidebar-backdrop{animation:fadeIn .2s ease;background:#00000073;display:block;inset:0;position:fixed;z-index:199}.sidebar-nav-item{box-sizing:border-box;min-height:44px!important}.main-content{margin-left:0!important}.topbar-hamburger{display:flex!important}.topbar-search{display:none!important}.topbar-avatar-label{display:none}.page-body{padding:14px 16px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.data-table{font-size:12px}.card:has(.data-table){overflow-x:auto}.card{padding:14px}.metric-new{padding:14px 16px}.m-value-new{font-size:26px}div[style*="position: fixed"][style*="top: 50%"]{max-height:90vh;overflow-y:auto;width:calc(100vw - 24px)!important}.table-scroll-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.two-pane{flex-direction:column!important}.two-pane-sidebar{border-bottom:1px solid #00000014;border-right:none!important;max-height:200px;overflow-y:auto;width:100%!important}.stat-grid-4{grid-template-columns:1fr 1fr!important}.project-detail-grid{grid-template-columns:1fr!important}.btn-label-hide{display:none}div[style*="position: fixed"][style*="inset: 0"]>div{max-height:88vh;overflow-y:auto;width:calc(100vw - 32px)!important}.project-banner-title{font-size:20px!important}.proposal-wrap{padding-left:16px!important;padding-right:16px!important;padding-top:24px!important}.proposal-meta-grid{grid-template-columns:1fr!important}.proposal-meta-grid .meta-right{text-align:left!important}.gantt-scroll{-webkit-overflow-scrolling:touch}.card-overflow-x,.gantt-scroll{overflow-x:auto}.milestone-meta{display:none}.proposal-actions{align-items:stretch!important;flex-direction:column!important}.proposal-actions>*{justify-content:center!important;width:100%!important}}@media (max-width:480px){.card,.page-body{padding:12px}.stat-grid-4{grid-template-columns:1fr!important}.page-title{font-size:22px}.pill{font-size:9px;padding:2px 7px}.topbar-title{font-size:17px!important}}@media (max-width:768px){.tt-page{padding:0!important}.tt-timer-controls{min-width:0!important;width:100%!important}.tt-tab-row{align-items:flex-start!important;flex-direction:column!important}.tt-filters{width:100%}.tt-filters select{flex:1 1;min-width:0!important}.tt-entry-meta{font-size:10px!important}.tt-entry-actions{flex-wrap:wrap!important}}.tab-scroll-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto;scrollbar-width:none}.tab-scroll-wrap::-webkit-scrollbar{display:none}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{animation:shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#edece9 25%,#00000012 50%,#edece9 75%);background:linear-gradient(90deg,var(--surf) 25%,var(--bdr) 50%,var(--surf) 75%);background-size:400px 100%;border-radius:4px;display:block}.skeleton-text{border-radius:3px;height:13px}.skeleton-title{border-radius:4px;height:18px}.skeleton-avatar{border-radius:50%}.skeleton-pill{border-radius:20px;height:20px}.skeleton-dark{animation:shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#ffffff12 25%,#ffffff24 50%,#ffffff12 75%);background-size:400px 100%;border-radius:4px;display:block}.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-end{display:flex;justify-content:flex-end}.flex-end,.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-wrap{flex-wrap:wrap}.flex-shrink-0{flex-shrink:0}.flex-1{flex:1 1}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.mb-4{margin-bottom:4px}.mb-6{margin-bottom:6px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.fu{font-family:Public Sans,sans-serif;font-family:var(--fu)}.fd,.page-title{font-family:Public Sans,sans-serif;font-family:var(--fd)}.page-title{color:#183c44;color:var(--navy);font-size:20px;font-weight:700}.section-title{font-size:15px}.card-title,.section-title{color:#183c44;color:var(--navy);font-family:Public Sans,sans-serif;font-family:var(--fd);font-weight:700}.card-title{font-size:13px}.label-text{font-weight:600;letter-spacing:.08em;text-transform:uppercase}.hint-text,.label-text{color:#8c8c8a;color:var(--hint);font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:11px}.body-text{font-size:12px}.body-text,.body-text-sm{color:#1a1a1a;color:var(--txt);font-family:Public Sans,sans-serif;font-family:var(--fu)}.body-text-sm{font-size:11px}.meta-text{color:#8c8c8a;color:var(--hint);font-size:10px}.emphasis,.meta-text{font-family:Public Sans,sans-serif;font-family:var(--fu)}.emphasis{font-size:12px;font-weight:600}.emphasis,.text-navy{color:#183c44;color:var(--navy)}.text-hint{color:#8c8c8a;color:var(--hint)}.text-txt{color:#1a1a1a;color:var(--txt)}.text-mut{color:#6b6b69;color:var(--mut)}.text-success{color:#059669;color:var(--success)}.text-danger{color:#dc2626;color:var(--danger)}.text-warning{color:#d97706;color:var(--warning)}.text-white{color:#fff}.fw-400{font-weight:400}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.empty-state{color:#8c8c8a;color:var(--hint);font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:13px;padding:60px 0;text-align:center}.card{border:1px solid #0000001c;border:1px solid var(--bdr2);border-radius:12px;border-radius:var(--radius-lg);padding:20px}.card,.card-sm{background:#fff;background:var(--card)}.card-sm{border:1px solid #0000001c;border:1px solid var(--bdr2);border-radius:8px;border-radius:var(--radius);padding:14px 16px}.divider{border:none;border-top:1px solid #00000012;border-top:1px solid var(--bdr);margin:0}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-body{animation:pageIn .2s ease both}.toast-stack{display:flex;flex-direction:column;gap:8px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:9999}.toast-item{align-items:center;animation:toastIn .22s cubic-bezier(.34,1.4,.64,1) both;border-radius:9px;box-shadow:0 8px 24px #0000002e,0 2px 6px #0000001a;display:flex;font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:13px;font-weight:500;gap:10px;line-height:1.4;max-width:380px;min-width:240px;padding:11px 14px;pointer-events:all}.toast-success{background:#052e16;border-left:3px solid #22c55e;color:#bbf7d0}.toast-error{background:#450a0a;border-left:3px solid #ef4444;color:#fecaca}.toast-info{background:#183c44;background:var(--navy);border-left:3px solid #60a5fa;color:#ffffffe6}.toast-icon{align-items:center;display:flex;flex-shrink:0;opacity:.85}.toast-msg{flex:1 1}.toast-close{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;flex-shrink:0;opacity:.45;padding:2px;transition:opacity .15s}.toast-close:hover{opacity:1}@keyframes toastIn{0%{opacity:0;transform:translateX(16px) scale(.96)}to{opacity:1;transform:translateX(0) scale(1)}}.empty-state-v2{align-items:center;display:flex;flex-direction:column;gap:8px;padding:52px 24px;text-align:center}.empty-state-compact{padding:32px 20px}.empty-state-icon{color:#8c8c8a;color:var(--hint);margin-bottom:4px;opacity:.5}.empty-state-title{color:#6b6b69;color:var(--mut);font-family:Public Sans,sans-serif;font-family:var(--fd);font-size:14px;font-weight:600}.empty-state-subtitle{color:#8c8c8a;color:var(--hint);font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:12px;line-height:1.5;max-width:280px}.empty-state-action{margin-top:8px}:root[data-theme=dark] .data-table tbody tr:hover td{background:#ffffff0a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .data-table tbody tr:hover td{background:#ffffff0a}}.studio{background:#f6f5f2;background:var(--off);display:flex;flex-direction:column;height:calc(100vh - 54px);margin:-28px -34px}@media (max-width:900px){.studio{height:auto;margin:-14px -16px}.studio-cols{flex-direction:column}.studio-cols>*{border-left:none!important;border-right:none!important;width:auto!important}.studio-cols>:nth-child(2){min-height:70vh}.pricelist-cols{grid-template-columns:1fr!important}.pricelist-cols>:last-child{position:static!important}}:root{--gl-purple:#5b21b6;--gl-purple-bg:#efe9fd}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--gl-purple:#c4b5fd;--gl-purple-bg:#a78bfa24}}:root[data-theme=dark]{--gl-purple:#c4b5fd;--gl-purple-bg:#a78bfa24}.gl-row{transition:background .12s}.gl-row.is-clickable{cursor:pointer}.gl-row.is-clickable:hover,.gl-row.is-selected{background:#f6f5f2;background:var(--off)}.gl-row.is-selected{box-shadow:inset 3px 0 0 #183c44;box-shadow:inset 3px 0 0 var(--navy)}.gl-row:focus-visible,.gl-toggle:focus-visible{outline:2px solid #183c44;outline:2px solid var(--navy);outline-offset:-2px}.gl-add::placeholder{color:#6b6b69;color:var(--mut)}.gl-add:focus{background:#fff!important;background:var(--card)!important;outline:2px solid #183c44;outline:2px solid var(--navy);outline-offset:-1px}:root{--rv-client:#c2410c;--rv-client-ink:#9a3412;--rv-client-bg:#fceee6;--rv-team:#112b32;--rv-team-ink:#3a3a38;--rv-team-bg:#e8e7e3;--rv-approve:#15803d;--rv-stage:#eeedea;--rv-seg:#f3f2ef;--rv-active-row:#f3f7f8;--rv-player:#141413}:root[data-theme=dark]{--rv-client:#ea580c;--rv-client-ink:#fdba8c;--rv-client-bg:#ea580c2e;--rv-team:#2e545f;--rv-team-ink:#d6d3ce;--rv-team-bg:#262625;--rv-approve:#16a34a;--rv-stage:#0e0e0e;--rv-seg:#262625;--rv-active-row:#1a262b;--rv-player:#050708}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--rv-client:#ea580c;--rv-client-ink:#fdba8c;--rv-client-bg:#ea580c2e;--rv-team:#2e545f;--rv-team-ink:#d6d3ce;--rv-team-bg:#262625;--rv-approve:#16a34a;--rv-stage:#0e0e0e;--rv-seg:#262625;--rv-active-row:#1a262b;--rv-player:#050708}}.rv-link{background:none;border:none;color:#183c44;color:var(--navy);cursor:pointer;font:inherit;font-size:12px;font-weight:700;padding:0}.rv-link:hover{color:#c7352b;color:var(--red-dark)}.rv-link:disabled{color:#8c8c8a;color:var(--hint);cursor:not-allowed}.rv-quick{background:#fff;background:var(--card);border:1px solid #0000001c;border:1px solid var(--bdr2);color:#1a1a1a;color:var(--txt);cursor:pointer;font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:12px;font-weight:600;height:30px;padding:0 10px}.rv-quick:hover{background:#edece9;background:var(--surf)}.rv-quick:focus-visible{outline:2px solid #2b6470;outline:2px solid var(--accent);outline-offset:2px}.rv-file{align-items:center;background:#edece9;background:var(--surf);border:1px solid #0000001c;border:1px solid var(--bdr2);color:#1a1a1a;color:var(--txt);cursor:pointer;display:inline-flex;font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:12px;font-weight:600;gap:6px;height:30px;max-width:100%;padding:0 10px}.rv-file:hover:not(:disabled){border-color:#2b6470;border-color:var(--accent)}.rv-file:focus-visible{outline:2px solid #2b6470;outline:2px solid var(--accent);outline-offset:2px}.rv-approve,.rv-reject{align-items:center;border:none;color:#fff;cursor:pointer;display:inline-flex;font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:15px;font-weight:700;gap:8px;height:48px;justify-content:center;padding:0 18px}.rv-approve{background:#047857}.rv-reject{background:#b91c1c}.rv-approve:hover,.rv-reject:hover{filter:brightness(.93)}.rv-approve:disabled,.rv-reject:disabled{cursor:wait;opacity:.6}.rv-approve:focus-visible,.rv-reject:focus-visible{outline:2px solid #1a1a1a;outline:2px solid var(--txt);outline-offset:2px}.rv-workspace a:focus-visible,.rv-workspace button:focus-visible,.rv-workspace select:focus-visible,.rv-workspace textarea:focus-visible{outline:2px solid #2563eb;outline:2px solid var(--info);outline-offset:2px}.rv-row:hover{background:#f6f5f2;background:var(--off)}@media (max-width:1100px){.bid-builder-grid{grid-template-columns:minmax(0,1fr)!important}}.recent-row .recent-pin{opacity:0;transition:opacity .12s}.recent-row .recent-pin.is-pinned,.recent-row:focus-within .recent-pin,.recent-row:hover .recent-pin{opacity:1}.recent-row .recent-pin:hover{background:rgba(0,0,0,.045)!important;background:var(--side-hover)!important}.recent-row .recent-pin:focus-visible{outline:2px solid #2563eb;outline:2px solid var(--info);outline-offset:1px}@media (hover:none){.recent-row .recent-pin{height:36px!important;opacity:1;width:36px!important}}.brand-logo-dark,:root[data-theme=dark] .brand-logo-light{display:none!important}:root[data-theme=dark] .brand-logo-dark{display:block!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-logo-light{display:none!important}:root:not([data-theme=light]) .brand-logo-dark{display:block!important}}:not(.spinner):not(.skeleton-avatar):not([data-round]):not([style*="border-radius: 50%"]):not([style*="border-radius:50%"]){border-radius:0!important}.home-grid{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)}@media (max-width:1100px){.home-grid{grid-template-columns:minmax(0,1fr)}}.home-project-row:hover{background:#f6f5f2;background:var(--off)}.tb-icon{color:#183c44;color:var(--navy);transition:color .18s ease-out,background-color .18s ease-out,border-color .18s ease-out}.tb-icon>svg{transform-origin:center;transition:transform .2s cubic-bezier(.2,.8,.3,1.3)}.tb-icon:hover{background-color:#e5d8ce80!important;border-color:#e5d8cee6!important;color:#ef4237;color:var(--red)}.tb-icon:hover>svg{transform:scale(1.25)}.tb-icon:active>svg{transform:scale(1.1)}.tb-icon[aria-current=page],.tb-icon[aria-expanded=true]{background-color:color-mix(in srgb,#2b6470 12%,#0000)!important;background-color:var(--accent-soft)!important;border-color:color-mix(in srgb,#2b6470 40%,#0000)!important;border-color:color-mix(in srgb,var(--accent) 40%,#0000)!important;color:#2b6470;color:var(--accent)}.tb-icon[aria-current=page]:hover,.tb-icon[aria-expanded=true]:hover{color:#fff}.tb-icon:focus-visible,.tb-kbd:focus-visible{outline:2px solid #ef4237;outline:2px solid var(--red);outline-offset:2px}.tb-search{background:#f6f5f2;background:var(--off);border:1px solid #0000001c;border:1px solid var(--bdr2);color:#6b6b69;color:var(--mut);transition:border-color .18s ease-out,background-color .18s ease-out,box-shadow .18s ease-out}.tb-search>svg{transition:transform .2s ease-out,color .18s ease-out}.tb-search:hover{border-color:#183c4459}.tb-search:focus-within{background:#fff;background:var(--card);border-color:#183c44;border-color:var(--teal);box-shadow:0 0 0 3px #183c441f;color:#183c44;color:var(--teal)}.tb-search:focus-within>svg{transform:scale(1.15)}.tb-kbd{transition:color .18s ease-out,border-color .18s ease-out}.tb-kbd:hover{border-color:#183c44!important;border-color:var(--teal)!important;color:#183c44!important;color:var(--teal)!important}:root[data-theme=dark] .tb-search:focus-within{color:#8fbac1}:root[data-theme=dark] .tb-icon:hover{background-color:#ef42371f!important;border-color:#ef42374d!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tb-search:focus-within{color:#8fbac1}:root:not([data-theme=light]) .tb-icon:hover{background-color:#ef42371f!important;border-color:#ef42374d!important}}@media (prefers-reduced-motion:reduce){.tb-icon>svg,.tb-search>svg{transition:none}.tb-icon:active>svg,.tb-icon:hover>svg,.tb-search:focus-within>svg{transform:none}}[role=button]:focus-visible,[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid #ef4237;outline:2px solid var(--red);outline-offset:2px}.skip-link{background:#fff;background:var(--card);border:2px solid #2b6470;border:2px solid var(--accent);color:#2b6470;color:var(--accent);font-family:Public Sans,sans-serif;font-family:var(--fu);font-size:13px;font-weight:700;left:12px;padding:10px 14px;position:absolute;text-decoration:none;top:-48px;z-index:1000}.skip-link:focus{top:12px}@media (prefers-reduced-motion:reduce){.skeleton,.skeleton-dark{animation:none}}
/*# sourceMappingURL=main.729901f5.css.map*/