@font-face{font-family:Manrope;src:local("Manrope");font-display:swap}:root{color-scheme:dark;font-family:Manrope,Segoe UI,sans-serif;background:#0a0b0d;color:#f6f6f7;--bg: #0a0b0d;--surface: #121418;--surface-raised: #181b20;--surface-soft: #20242a;--border: #292d34;--border-strong: #3b414a;--text: #f6f6f7;--muted: #b1b5bc;--quiet: #858a93;--accent: #d00919;--accent-strong: #f22b3a;--green: #45b97c;--amber: #e6a638;--radius: 12px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:var(--bg);font-size:14px;line-height:1.45}::selection{background:#d009197a;color:#fff}button,input,textarea,select{font:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(255,53,66,.42);outline-offset:2px}.boot{min-height:100dvh;display:grid;place-items:center}.kicker{margin:0 0 8px;color:#ff6570;font-size:11px;font-weight:800;letter-spacing:.105em;text-transform:uppercase}.login-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr)}.login-brand{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,8vw,120px);overflow:hidden;background:radial-gradient(circle at 15% 18%,rgba(212,12,26,.19),transparent 34%),linear-gradient(145deg,#0e0f11,#16171a)}.login-brand:after{content:"";position:absolute;right:-12%;bottom:-20%;width:min(60vw,760px);aspect-ratio:1.3;opacity:.12;transform:rotate(-12deg);background:repeating-linear-gradient(90deg,transparent 0 30px,#fff 31px 33px);border:1px solid #fff;border-radius:46% 54% 48% 52%;pointer-events:none}.brand-mark{display:grid;place-items:center;width:150px;height:54px;overflow:visible;background:transparent}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain;padding:0;filter:drop-shadow(0 10px 22px rgba(0,0,0,.24))}.login-brand .brand-mark{width:clamp(190px,18vw,260px);height:104px;margin-bottom:16px}.login-brand h1{max-width:760px;margin:14px 0 22px;font-size:clamp(44px,6vw,88px);line-height:.98;letter-spacing:-.055em}.login-brand>p:not(.kicker){max-width:540px;color:#b8bac0;font-size:clamp(17px,1.8vw,22px);line-height:1.55}.login-signal{display:flex;align-items:center;gap:10px;margin-top:48px;color:#d8d9dc;font-size:13px;font-weight:700}.login-signal span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px #45b97c1f}.login-panel{display:grid;place-items:center;padding:40px;background:#111214;border-left:1px solid #2b2d31}.login-form{width:min(100%,430px);display:grid;gap:22px}.login-form h2{margin:0;font-size:36px;letter-spacing:-.035em}.login-form p{color:var(--muted);line-height:1.55}.privacy-note{margin:0;text-align:center;font-size:12px}.app-shell{min-height:100dvh;display:grid;grid-template-columns:276px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100dvh;z-index:20;display:flex;flex-direction:column;padding:18px 14px;background:linear-gradient(180deg,#0f1114,#0b0d10);border-right:1px solid var(--border)}.sidebar-brand{display:grid;gap:7px;padding:0 8px 23px;border-bottom:1px solid #22262c;margin-bottom:14px}.sidebar-brand .brand-mark{width:164px;height:64px;justify-self:start}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{font-size:13px}.sidebar-brand span{margin-top:2px;color:var(--quiet);font-size:11px;letter-spacing:.04em}.sidebar nav{display:grid;gap:5px}.sidebar nav button{position:relative;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:11px;width:100%;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:#aeb3bb;text-align:left;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.sidebar nav button:hover{background:#1a1b1f;color:#fff}.sidebar nav button:active{transform:translateY(1px)}.sidebar nav button.nav-active{border-color:#353a43;background:linear-gradient(90deg,#d009192b,#1a1d22 62%);color:#fff}.sidebar nav button.nav-active:before{content:"";position:absolute;inset:8px auto 8px -14px;width:3px;border-radius:0 4px 4px 0;background:var(--accent-strong)}.sidebar nav button.nav-active svg{color:#ff6570}.sidebar nav button b{min-width:22px;padding:2px 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;text-align:center}.sidebar-footer{margin-top:auto;display:grid;gap:12px;padding-top:18px;border-top:1px solid #292b30}.user-chip{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center}.user-chip>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#292b30;color:#fff;font-weight:800}.user-chip strong,.user-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip strong{font-size:12px}.user-chip small{margin-top:3px;color:var(--quiet);font-size:10px}.workspace{min-width:0;background:radial-gradient(circle at 82% -18%,rgba(208,9,25,.11),transparent 31%),linear-gradient(180deg,#0c0e11 0%,var(--bg) 32%)}.workspace-inner{width:min(100%,1680px);margin:0 auto;padding:34px clamp(24px,3.5vw,58px) 72px}.mobile-bar{display:none}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:32px}.page-heading h1{margin:0 0 9px;font-size:clamp(34px,3.4vw,50px);line-height:1.02;letter-spacing:-.045em}.page-heading>div>p:last-child{margin:0;color:var(--muted);font-size:15px}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:28px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--border)}.metric{min-height:156px;padding:20px;background:linear-gradient(145deg,#171a1f,#131519)}.metric-label{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:700}.metric strong{display:block;margin-top:30px;font-size:42px;line-height:1;letter-spacing:-.05em}.metric p{margin:9px 0 0;color:var(--quiet);font-size:12px}.metric-red{box-shadow:inset 0 3px 0 var(--accent)}.metric-green{box-shadow:inset 0 3px 0 var(--green)}.metric-amber{box-shadow:inset 0 3px 0 var(--amber)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:18px}.panel{min-width:0;padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:#121418f0;box-shadow:0 18px 60px #00000029}.panel-full{grid-column:1 / -1}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}.panel-heading h2{margin:0;font-size:21px;letter-spacing:-.025em}.chart-wrap{display:grid;grid-template-columns:1fr}.chart-legend{display:grid;gap:8px}.chart-legend div{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;color:var(--muted);font-size:11px}.chart-legend span{width:8px;height:8px;border-radius:2px}.chart-legend strong{color:#fff}.toolbar{display:flex;margin:-8px 0 20px}.toolbar>span{width:min(100%,680px)}.data-list{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 16px 50px #00000021}.panel .data-list{border:0;border-radius:0;background:transparent}.data-row{display:grid;grid-template-columns:42px minmax(190px,1.2fr) minmax(170px,1fr) minmax(150px,.8fr) auto;align-items:center;gap:16px;min-height:78px;padding:13px 16px;border-bottom:1px solid #272b31;transition:background .14s ease,transform .14s ease}.data-row:last-child{border-bottom:0}.data-row:hover{background:#181b20}.row-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#24262b;color:#c6c8cc}.row-primary,.row-detail{min-width:0}.row-primary strong,.row-primary span,.row-detail span,.row-detail small,.row-detail strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-primary strong{color:#f5f5f6;font-size:13px}.row-primary span,.row-detail span,.row-detail strong{margin-top:4px;color:#b7b9be;font-size:12px}.row-detail small{margin-top:5px;color:var(--quiet);font-size:10px}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.row-action-hint{max-width:110px;color:var(--quiet);font-size:10px;line-height:1.35}.empty-state{display:grid;justify-items:center;padding:48px 24px;color:var(--muted);text-align:center}.empty-state>svg{width:34px;height:34px;color:#686b72}.empty-state h3{margin:14px 0 6px;color:#e9eaeb;font-size:16px}.empty-state p{max-width:360px;margin:0;font-size:12px;line-height:1.5}.skeleton-list{display:grid;gap:8px}.skeleton-row{height:76px;border-radius:var(--radius);background:linear-gradient(90deg,#17181b 20%,#222328,#17181b 70%);background-size:240% 100%;animation:shimmer 1.3s ease-in-out infinite}@keyframes shimmer{to{background-position:-180% 0}}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:#040405b8;backdrop-filter:blur(9px)}.modal{width:min(100%,540px);padding:28px;border:1px solid var(--border-strong);border-radius:var(--radius);background:#15181c;box-shadow:0 30px 100px #0000009e}.modal-wide{width:min(100%,1260px);max-height:calc(100dvh - 32px);overflow:auto}.modal h2{margin:0;font-size:28px;letter-spacing:-.035em}.modal>p:not(.kicker){color:var(--muted);line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.danger-button{background:#b80c18!important}.form-grid{display:grid;gap:20px}.form-heading,.line-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.form-heading h2,.line-heading h3{margin:0}.form-heading p:not(.kicker){margin:8px 0 0;color:var(--muted)}.form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.native-field{display:grid;gap:6px;min-width:0;color:#f3f3f4;font-size:13px;font-weight:600}.native-field select{width:100%;min-height:32px;padding:6px 10px;border:1px solid #55575e;border-radius:4px;background:#292a2e;color:var(--text)}.check-field{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}.check-field input{width:16px;height:16px;accent-color:var(--accent)}.check-field.compact{align-self:end;min-height:32px}.invoice-lines{display:grid;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:#121315}.invoice-line{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.4fr) 92px 118px 118px auto auto;gap:10px;align-items:end;padding:12px;border:1px solid #2e3035;border-radius:10px;background:#1a1b1f}.invoice-row{grid-template-columns:42px minmax(150px,1fr) minmax(150px,.9fr) minmax(120px,.6fr) auto minmax(280px,auto)}.detail-section,.note-composer{display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:#121315}.detail-section h3{margin:0}.line-heading>span,.muted{color:var(--muted);font-size:12px}.detail-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.detail-cards article{display:grid;gap:5px;padding:13px;border:1px solid #303238;border-radius:10px;background:#1a1b1f}.detail-cards span,.detail-cards small{color:var(--muted)}.job-toolbar{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:12px;padding:14px;border:1px solid var(--border);border-radius:10px}.job-toolbar div{display:grid;gap:5px}.workflow-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.workflow-map article{position:relative;display:grid;gap:5px;min-height:96px;padding:13px;border:1px solid #303238;border-radius:10px;background:#191a1e}.workflow-map article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:10px 0 0 10px;background:#484a51}.workflow-map article.is-complete:before{background:var(--green)}.workflow-map article.is-active{border-color:#ff3542b8;background:#d40c1a17}.workflow-map article.is-active:before{background:var(--accent-strong)}.workflow-map span,.workflow-map small{color:var(--muted);font-size:11px;line-height:1.45}.workflow-map small{color:#ff7079;font-weight:800;text-transform:uppercase}.checklist-list{display:grid;gap:10px}.checklist-item{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.8fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid #303238;border-radius:10px;background:#1a1b1f}.checklist-item.status-passed{border-left:3px solid var(--green)}.checklist-item.status-failed{border-left:3px solid var(--accent-strong)}.checklist-item.status-not_applicable{border-left:3px solid var(--amber)}.checklist-copy{display:grid;gap:5px}.checklist-copy span,.checklist-copy small{color:var(--muted);font-size:11px;line-height:1.45}.checklist-copy small{color:var(--quiet);text-transform:capitalize}.checklist-actions,.next-actions{display:flex;flex-wrap:wrap;gap:7px}.transition-panel{display:grid;gap:12px;padding:16px;border:1px solid #55575e;border-radius:10px;background:#1a1b1f}.transition-panel p{margin:0;color:var(--muted);line-height:1.55}.transition-panel .modal-actions{margin-top:0}.operations-section{gap:16px}.operations-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.operations-summary article{display:grid;gap:7px;padding:13px;border:1px solid #303238;border-radius:10px;background:linear-gradient(145deg,#1d1f24,#181a1e)}.operations-summary span{color:var(--muted);font-size:11px}.operations-summary strong{font-size:18px;letter-spacing:-.025em}.work-item-list,.estimate-list,.attachment-list{display:grid;gap:8px}.work-item-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:13px;border:1px solid #303238;border-radius:10px;background:#1a1b1f}.work-item-copy{min-width:0;display:grid;gap:5px}.work-item-copy>div{display:flex;align-items:center;gap:9px}.work-item-copy span,.work-item-copy small{color:var(--muted);font-size:11px}.status-pill{width:fit-content;padding:2px 7px;border-radius:999px;background:#30333a;color:#e7e8ea!important;font-size:9px!important;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.status-pill.status-completed{background:#45b97c26;color:#7bd7a5!important}.status-pill.status-in_progress{background:#d0091929;color:#ff7b84!important}.operation-form,.estimate-builder,.attachment-uploader,.decision-panel{display:grid;gap:13px;padding:16px;border:1px solid #373a41;border-radius:10px;background:#17191d}.operation-form h4,.estimate-builder p{margin:0}.inline-checks,.compact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.empty-panel{display:grid;gap:5px;min-height:76px;align-content:center;justify-items:start;padding:14px;border:1px dashed #3b3e45;border-radius:10px;color:var(--muted)}.empty-panel strong{color:#ececee}.estimate-select-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.estimate-list>article{display:grid;gap:11px;padding:15px;border:1px solid #303238;border-radius:10px;background:#1a1b1f}.estimate-head,.estimate-total{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.estimate-head>div{display:grid;gap:4px}.estimate-head span,.estimate-total,.estimate-list p{color:var(--muted);font-size:11px}.estimate-lines{display:grid;gap:6px;padding-block:9px;border-block:1px solid #2f3238}.estimate-lines span{display:flex;justify-content:space-between;gap:15px}.estimate-lines b{white-space:nowrap}.decision-panel{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:12px;background:#14161a}.attachment-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:14px}.attachment-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid #303238;border-radius:10px;background:#1a1b1f}.attachment-list article>div{min-width:0;display:grid;gap:4px}.attachment-list span,.attachment-list small,.native-field small{color:var(--muted);font-size:10px}.native-field input[type=file]{width:100%;padding:9px;border:1px solid #55575e;border-radius:4px;background:#292a2e;color:var(--text)}.timeline-list{display:grid;gap:0}.timeline-list article{position:relative;display:grid;gap:4px;padding:4px 0 16px 22px;border-left:1px solid #3b3d43}.timeline-list article:before{content:"";position:absolute;left:-5px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--accent)}.timeline-list span{color:var(--quiet);font-size:11px}.timeline-list p{margin:4px 0 0;color:var(--muted)}.note-list{display:grid;gap:9px}.note-list article{padding:13px;border-left:3px solid var(--accent);border-radius:8px;background:#1a1b1f}.note-list article>div{display:flex;justify-content:space-between;gap:15px}.note-list span{color:var(--quiet);font-size:11px}.note-list p{margin:9px 0 0;color:#d7d8db;white-space:pre-wrap}.nav-scrim{display:none}@media(max-width:1120px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.panel-full{grid-column:auto}.data-row{grid-template-columns:42px minmax(180px,1fr) minmax(150px,.9fr) auto}.data-row>:nth-child(4):not(.row-actions):not(button){display:none}}@media(max-width:800px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:42dvh;padding:40px 24px}.login-brand h1{font-size:clamp(40px,12vw,58px)}.login-panel{padding:38px 24px;border-left:0;border-top:1px solid #2b2d31}.app-shell{display:block}.sidebar{position:fixed;left:0;transform:translate(-102%);width:min(88vw,290px);transition:transform .2s ease}.sidebar-open{transform:translate(0)}.nav-scrim{position:fixed;inset:0;z-index:15;display:block;border:0;background:#00000094}.mobile-bar{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 16px;background:#0e0f11f0;border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}.mobile-bar strong{font-size:13px}.mobile-bar span{color:#ff5963;font-size:11px;font-weight:800}.workspace-inner{padding:26px 16px 56px}.page-heading{align-items:flex-start}.page-heading h1{font-size:42px}.page-heading>button{min-width:40px;font-size:0}.header-actions{flex-wrap:wrap}.form-columns,.form-columns-3{grid-template-columns:1fr}.invoice-line{grid-template-columns:1fr 1fr}.invoice-line>:nth-child(2){grid-column:1 / -1}.invoice-row{grid-template-columns:38px minmax(0,1fr) auto}.job-toolbar,.workflow-map,.checklist-item{grid-template-columns:1fr}.operations-summary{grid-template-columns:1fr 1fr}.work-item-list>article{grid-template-columns:1fr auto}.work-item-list .compact-actions{grid-column:1 / -1}.estimate-select-list,.attachment-layout,.decision-panel{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.metric{min-height:140px;padding:16px}.metric strong{margin-top:24px;font-size:34px}.data-row{grid-template-columns:38px minmax(0,1fr) auto;gap:10px}.data-row>.row-detail:not(:last-of-type),.data-row>.row-actions{grid-column:2 / -1}.data-row>button{grid-column:2 / -1;justify-self:start}}@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.metric{min-height:126px}.page-heading{margin-bottom:24px}.data-row{padding:14px 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
