:root{
  --bg:#f4f8fd;--panel:#fff;--panel-soft:#f8fbff;--line:#dfe8f3;--line-strong:#cbd8e8;
  --text:#10233f;--muted:#6e819b;--muted-2:#96a7ba;--brand:#126bea;--brand-2:#1b89f5;--cyan:#1caee9;
  --teal:#18b9aa;--teal-soft:#e9fbf8;--blue-soft:#edf5ff;--danger:#e84e5c;--danger-soft:#fff0f2;
  --warning:#d79116;--warning-soft:#fff7e7;--success:#178f73;--success-soft:#eaf9f4;
  --shadow:0 10px 28px rgba(24,65,112,.07);--shadow-lg:0 24px 64px rgba(24,65,112,.18);
  --radius:14px;--sidebar:258px;--topbar:78px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{background:var(--bg);color:var(--text)}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}svg{width:1.25em;height:1.25em;fill:currentColor}.hidden{display:none!important}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums;letter-spacing:.01em}
.app-body{background:radial-gradient(circle at 85% 0,#e7f1ff 0,transparent 25%),var(--bg)}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);z-index:30;display:flex;flex-direction:column;padding:18px 16px}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px;color:#173b72}.brand>span:last-child{font-size:20px;line-height:1.05}.brand strong{color:#0c376e}.brand small{display:block;margin-top:5px;color:var(--muted);font-size:10px;letter-spacing:.04em}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:var(--brand)}.brand-mark svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2}.brand-mark.large,.brand-mark.large svg{width:52px;height:52px}.nav{display:flex;flex-direction:column;gap:3px;overflow:auto;padding-right:2px}.nav-item{min-height:42px;display:flex;align-items:center;gap:12px;padding:0 12px;border-radius:10px;color:#294661;font-size:14px;font-weight:600;transition:.15s}.nav-item svg{width:18px;color:#507395}.nav-item:hover{background:#f5f9ff;color:#0d5fd2}.nav-item.active{background:linear-gradient(90deg,#eaf3ff,#f4f8ff);color:#0867e8}.nav-item.active svg{color:#0867e8}.nav-badge{margin-left:auto;background:#eef3f8;border-radius:20px;padding:3px 7px;font-size:9px;color:#7488a0;font-weight:700}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:15px 8px 2px;display:flex;gap:10px;align-items:center;font-size:12px}.sidebar-foot small{display:block;color:var(--muted);margin-top:2px}.environment-dot,.live-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(24,185,170,.12)}
.app-shell{margin-left:var(--sidebar);min-height:100vh}.topbar{height:var(--topbar);position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:20px}.global-search{max-width:560px;flex:1;margin:0 auto;display:flex;align-items:center;gap:9px;border:1px solid var(--line-strong);background:#fff;border-radius:10px;height:43px;padding:0 12px;color:#7990aa}.global-search input{border:0;outline:0;width:100%;background:transparent;color:#8497aa}.global-search svg{width:17px}.kbd{font-size:10px;border:1px solid var(--line);padding:3px 6px;border-radius:5px;background:#f7f9fc}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.icon-button{width:38px;height:38px;border:0;background:transparent;border-radius:9px;display:grid;place-items:center;cursor:pointer;color:#486682;position:relative}.icon-button:hover{background:#f0f5fb}.notification-dot{position:absolute;right:8px;top:8px;width:6px;height:6px;background:var(--brand);border:2px solid white;border-radius:50%}.user-chip{display:flex;align-items:center;gap:9px;margin-left:4px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#0d3265,#0c589d);color:#fff;font-size:11px;font-weight:800}.avatar.small{width:30px;height:30px;font-size:9px;background:linear-gradient(145deg,#1cb9ab,#159bb9)}.user-copy{display:flex;flex-direction:column;min-width:116px}.user-copy strong{font-size:12px}.user-copy small{font-size:10px;color:var(--muted);margin-top:2px}.text-button{border:0;background:transparent;color:#5b7290;font-size:11px;cursor:pointer}.mobile-menu{display:none}
.main-content{padding:28px 30px 16px;max-width:1660px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.page-head h1{font-size:27px;letter-spacing:-.03em;margin:3px 0 5px}.page-head p{margin:0;color:var(--muted);font-size:13px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--brand);font-size:10px;font-weight:800}.page-actions{display:flex;gap:10px}.btn{height:40px;border-radius:9px;border:1px solid transparent;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;font-size:12px;cursor:pointer;transition:.15s}.btn svg{width:16px}.btn-primary{background:linear-gradient(135deg,#126bea,#178cf3);color:white;box-shadow:0 7px 18px rgba(18,107,234,.22)}.btn-primary:hover{filter:brightness(.98);transform:translateY(-1px)}.btn-secondary{background:#fff;border-color:var(--line-strong);color:#31516f}.btn-secondary:hover{background:#f6f9fc}.btn-block{width:100%;height:46px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-head{min-height:58px;padding:13px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.card-head h2{font-size:14px;margin:0}.card-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.link{color:var(--brand);font-weight:700;font-size:10px;display:flex;align-items:center;gap:5px}.link svg{width:13px}.alert{margin-bottom:16px;border-radius:10px;padding:11px 14px;display:flex;gap:10px;align-items:center;font-size:12px}.alert strong{white-space:nowrap}.alert-error{background:var(--danger-soft);border:1px solid #ffd6db;color:#a52d39}.alert-success{background:var(--success-soft);border:1px solid #c8efe2;color:#16735f}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.kpi-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);min-height:106px;padding:17px;display:flex;gap:13px;align-items:center}.kpi-icon{width:49px;height:49px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.kpi-icon svg{width:24px}.kpi-icon.blue{background:#eaf3ff;color:#1670ef}.kpi-icon.cyan{background:#ebf9ff;color:#129de2}.kpi-icon.indigo{background:#eff1ff;color:#5b6eeb}.kpi-icon.teal{background:#eafaf7;color:#18a996}.kpi-card>div{display:flex;flex-direction:column}.kpi-card span:not(.kpi-icon){font-size:11px;color:#425d79}.kpi-card strong{font-size:23px;line-height:1.15;margin:4px 0;color:#132e52}.kpi-card small{font-size:9px;color:var(--muted)}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{height:36px;text-align:left;padding:0 14px;color:#72869d;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#fbfdff;border-bottom:1px solid var(--line)}td{padding:11px 14px;border-bottom:1px solid #edf2f7;vertical-align:middle;color:#29445f}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdff}td strong{color:#183657}.cell-sub{display:block;color:#60758e;margin-top:2px;font-size:10px}.status-badge{display:inline-flex;align-items:center;gap:5px;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:700;background:#eef5ff;color:#166bc8;white-space:nowrap}.status-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.status-planned{background:#ebf9ff;color:#1389bc}.status-in_progress,.status-commissioned{background:#eaf3ff;color:#176dd5}.status-completed,.status-active,.status-billed{background:#eaf9f4;color:#15856e}.status-waiting_customer,.status-offer{background:#fff5e5;color:#b57412}.status-blocked_internal,.status-critical{background:#fff0f2;color:#c73f4d}.status-inquiry,.status-lead{background:#f1f3f7;color:#697b8e}.progress-row{display:flex;align-items:center;gap:8px;min-width:120px}.progress-native{height:6px;flex:1;border:0;border-radius:999px;overflow:hidden;background:#e8eef5;appearance:none}.progress-native::-webkit-progress-bar{background:#e8eef5;border-radius:999px}.progress-native::-webkit-progress-value{background:linear-gradient(90deg,#1593ed,#0d69e8);border-radius:999px}.progress-native::-moz-progress-bar{background:linear-gradient(90deg,#1593ed,#0d69e8);border-radius:999px}.progress-row strong{font-size:9px;color:#506983}.priority{display:inline-flex;padding:4px 7px;border-radius:6px;background:#f3f6f9;color:#5e7288;font-size:9px}.priority-high{background:#fff5e5;color:#b57412}.priority-critical{background:#fff0f2;color:#c73f4d}.yes-pill{font-size:9px;padding:4px 7px;border-radius:7px;background:#eaf9f4;color:#14866d}
.live-badge{display:flex;align-items:center;gap:5px;padding:4px 7px;border-radius:20px;background:#eaf9f4;color:#16856e;font-size:9px}.live-badge i{width:6px;height:6px;background:var(--teal);border-radius:50%}.timer-preview{min-height:224px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;text-align:center}.timer-orbit{width:54px;height:54px;border:5px solid #d8f4ef;border-top-color:var(--teal);border-radius:50%;display:grid;place-items:center;color:var(--teal);margin-bottom:8px}.timer-preview>strong{font-size:26px;letter-spacing:.03em}.timer-preview p{max-width:340px;color:var(--muted);font-size:10px;line-height:1.5;margin:5px 0 12px}.pipeline{display:grid;grid-template-columns:repeat(7,minmax(80px,1fr));gap:5px;padding:20px 16px 23px;overflow:auto}.pipeline-node{position:relative;text-align:center;min-width:86px}.pipeline-node:not(:last-child):after{content:"→";position:absolute;right:-8px;top:19px;color:#bfd0e0}.pipeline-icon{width:44px;height:44px;border-radius:10px;background:#eff7ff;color:#1989d9;display:grid;place-items:center;margin:0 auto 7px}.pipeline-node:nth-child(5) .pipeline-icon{background:linear-gradient(145deg,#0872ed,#1598ee);color:white;box-shadow:0 8px 18px rgba(10,113,236,.22)}.pipeline-node strong,.pipeline-node small{display:block}.pipeline-node strong{font-size:9px}.pipeline-node small{font-size:8px;color:var(--muted);margin-top:3px}.donut-block{min-height:205px;display:flex;align-items:center;justify-content:center;gap:20px;padding:16px}.donut{width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--brand) 0 2%,var(--teal) 2% 4%,#dfe8f3 4% 100%);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;inset:10px;background:white;border-radius:50%}.donut>div{z-index:1;text-align:center}.donut strong{display:block;font-size:21px}.donut span{font-size:9px;color:var(--muted)}.donut-block ul{list-style:none;margin:0;padding:0;min-width:125px}.donut-block li{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:6px;padding:7px 0;font-size:9px;color:var(--muted)}.donut-block li strong{color:#405a74}.dot{width:6px;height:6px;border-radius:2px}.dot.blue{background:var(--brand)}.dot.teal{background:var(--teal)}.dot.gray{background:#d7e0ea}.journal-list{padding:3px 15px}.journal-item{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;min-height:48px;border-bottom:1px solid #edf2f7}.journal-item:last-child{border-bottom:0}.journal-item strong,.journal-item span{display:block}.journal-item strong{font-size:10px}.journal-item span,.journal-item time{font-size:8px;color:var(--muted)}.empty-compact{min-height:190px;display:flex;align-items:center;justify-content:center;gap:14px;padding:20px}.empty-compact h2{font-size:13px}.empty-compact p{max-width:260px;font-size:10px;color:var(--muted);line-height:1.5}.calendar-tile{width:48px;height:50px;border-radius:9px;background:#edf5ff;color:#126bea;display:grid;place-items:center;font-weight:800;font-size:16px}.calendar-tile small{font-size:7px;margin-top:-9px}.empty-state{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--muted)}.empty-state strong{color:#36516d;margin-top:7px;font-size:12px}.empty-state p{font-size:10px;margin:4px 0}.empty-icon{width:42px;height:42px;border-radius:10px;background:#eef5ff;color:#2e7bd4;display:grid;place-items:center}
.toolbar{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-search{display:flex;align-items:center;gap:8px;flex:1;max-width:590px}.filter-search>svg{color:#7b8fa5;width:16px}.filter-search input{height:38px;border:1px solid var(--line-strong);border-radius:8px;padding:0 10px;flex:1;min-width:0;outline:0}.filter-search input:focus{border-color:#7fb3f2;box-shadow:0 0 0 3px rgba(18,107,234,.08)}.toolbar-meta{font-size:10px;color:var(--muted)}
.app-dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 36px);border:1px solid var(--line);border-radius:16px;padding:0;box-shadow:var(--shadow-lg);color:var(--text)}.app-dialog::backdrop{background:rgba(16,35,63,.36);backdrop-filter:blur(3px)}.app-dialog[open]{display:block}.dialog-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{margin:4px 0 0;font-size:20px}.dialog-body{padding:20px}.dialog-actions{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;background:#fbfdff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label,.login-card label{font-size:10px;font-weight:750;color:#4b647f;display:flex;flex-direction:column;gap:6px}.form-grid .span-2{grid-column:span 2}.form-grid input,.form-grid select,.form-grid textarea,.login-card input{width:100%;border:1px solid var(--line-strong);background:#fff;border-radius:8px;min-height:39px;padding:8px 10px;outline:0;font-size:12px}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.login-card input:focus{border-color:#73a9ef;box-shadow:0 0 0 3px rgba(18,107,234,.08)}.placeholder-card{min-height:310px;display:flex;align-items:center;justify-content:center;gap:24px;padding:30px}.placeholder-icon{width:74px;height:74px;border-radius:20px;display:grid;place-items:center;background:#edf5ff;color:#126bea}.placeholder-icon svg{width:36px}.placeholder-card h2{margin:8px 0 6px}.placeholder-card p{max-width:560px;color:var(--muted);font-size:12px;line-height:1.6}.product-pill{display:inline-flex;padding:5px 8px;border-radius:20px;background:#eaf3ff;color:#126bea;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.app-footer{display:flex;justify-content:space-between;color:#99a8b9;font-size:9px;padding:18px 2px 2px}
.login-body{background:#edf4fc;overflow-x:hidden}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(430px,.8fr)}.login-visual{position:relative;overflow:hidden;background:linear-gradient(135deg,#072b59 0%,#075da9 50%,#11a0cf 100%);color:#fff;padding:42px 7vw;display:flex;flex-direction:column}.login-visual:before{content:"";position:absolute;width:600px;height:600px;right:-240px;top:-210px;border:1px solid rgba(255,255,255,.13);border-radius:90px;transform:rotate(30deg)}.login-visual:after{content:"";position:absolute;width:330px;height:330px;left:-120px;bottom:-180px;border:70px solid rgba(255,255,255,.05);border-radius:50%}.login-brand{display:flex;align-items:center;gap:10px;position:relative;z-index:1;font-size:21px}.login-brand .brand-mark{color:#fff}.login-hero-copy{position:relative;z-index:1;margin:auto 0;max-width:680px}.login-hero-copy .eyebrow{color:#75d7ef}.login-hero-copy h1{font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-.045em;margin:14px 0}.login-hero-copy p{font-size:16px;line-height:1.6;color:#d7eaff;max-width:620px}.login-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.login-grid>div{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);backdrop-filter:blur(12px);border-radius:12px;padding:14px}.login-grid strong,.login-grid span{display:block}.login-grid strong{font-size:11px}.login-grid span{font-size:9px;color:#c7e1f4;margin-top:5px;line-height:1.4}.login-panel{display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 100% 0,#d9ebff,transparent 30%),#f8fbff}.login-card{width:min(390px,100%);background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:28px}.login-card-head h2{font-size:27px;letter-spacing:-.03em;margin:14px 0 5px}.login-card-head p{margin:0 0 22px;color:var(--muted);font-size:12px}.login-card label{margin:13px 0}.login-card input{height:44px}.login-meta{display:flex;justify-content:space-between;align-items:center;margin-top:16px;color:var(--muted);font-size:8px}.login-meta span:first-child{display:flex;align-items:center;gap:6px}
@media(max-width:1180px){:root{--sidebar:220px}.main-content{padding:22px 20px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.span-7,.span-5,.span-8,.span-4{grid-column:span 12}.login-shell{grid-template-columns:1fr 440px}.login-grid{grid-template-columns:1fr}}
@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:.2s;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translateX(0)}.app-shell{margin-left:0}.mobile-menu{display:grid}.topbar{padding:0 14px}.global-search{display:none}.user-copy,.text-button{display:none}.main-content{padding:18px 14px}.page-head{align-items:flex-start;flex-direction:column}.kpi-grid{grid-template-columns:1fr 1fr}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh;padding:20px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.app-footer{flex-direction:column;gap:4px}.pipeline{grid-template-columns:repeat(7,100px)}}
@media(max-width:560px){.kpi-grid{grid-template-columns:1fr}.kpi-card{min-height:88px}.page-actions,.page-actions .btn{width:100%}.toolbar{align-items:stretch;flex-direction:column}.filter-search{max-width:none}.filter-search .btn{padding:0 10px}.donut-block{flex-direction:column}.login-card{padding:22px}.topbar{height:66px}.user-chip{margin-left:auto}.dialog-body{padding:16px}.dialog-head,.dialog-actions{padding-left:16px;padding-right:16px}}

/* Phase 1 detail workspaces */
a{color:inherit}.back-link{display:inline-flex;margin-bottom:12px;color:var(--muted);font-size:12px;font-weight:700;text-decoration:none}.back-link:hover,.text-link:hover,.table-link:hover{color:var(--primary)}.detail-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:22px}.detail-head h1{font-size:30px;letter-spacing:-.035em;margin:5px 0 7px}.detail-head p{margin:0;color:var(--muted)}.detail-title-row{display:flex;gap:10px;align-items:center}.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.75fr);gap:16px}.detail-main-card,.detail-side-card{padding:20px}.section-space{margin-top:16px}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.section-head h2{font-size:17px;letter-spacing:-.02em;margin:3px 0 0}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.info-item{padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.info-item.span-2{grid-column:span 2}.info-item>span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:5px}.info-item>strong{font-size:13px}.info-item a,.detail-head a,.stack-row a{color:inherit}.long-copy{white-space:pre-wrap;line-height:1.55;color:var(--text);font-size:12px}.compact-dl{margin:0}.compact-dl>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.compact-dl>div:last-child{border:0}.compact-dl dt{color:var(--muted);font-size:11px}.compact-dl dd{margin:0;text-align:right;font-size:11px;font-weight:700}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.contact-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface-soft)}.contact-card-head{display:flex;align-items:center;gap:9px}.contact-card-head>div{min-width:0;flex:1}.contact-card-head strong,.contact-card-head span{display:block}.contact-card-head>div span{font-size:10px;color:var(--muted);margin-top:2px}.avatar.small{width:31px;height:31px;font-size:10px;flex:0 0 auto}.contact-lines{display:grid;gap:4px;margin:12px 0 8px;color:var(--muted);font-size:11px}.inline-form{display:inline}.text-danger{border:0;background:none;padding:0;color:#b42318;font:inherit;font-size:10px;font-weight:700;cursor:pointer}.stack-list{display:grid}.stack-row{display:flex;justify-content:space-between;align-items:center;gap:16px;text-decoration:none;padding:12px 2px;border-bottom:1px solid var(--line)}.stack-row:last-child{border-bottom:0}.stack-row>div{min-width:0}.stack-row strong,.stack-row span{display:block}.stack-row strong{font-size:12px}.stack-row>div>span{font-size:10px;color:var(--muted);margin-top:3px}.mini-empty{padding:24px 8px;text-align:center;color:var(--muted);font-size:11px}.table-link{font-weight:800;text-decoration:none;color:var(--text)}.table-sub-link{text-decoration:none}.btn-small{height:32px;padding:0 11px;font-size:10px}.btn-danger-soft{background:#fff5f4;border-color:#fecdca;color:#b42318}.btn-danger{background:#b42318;border-color:#b42318;color:white}.app-dialog-small{max-width:590px}.check-label{display:flex!important;flex-direction:row!important;align-items:center;gap:9px}.check-label input{width:17px;height:17px;margin:0}.check-label span{font-size:11px;color:var(--text)}
.project-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mini-kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px;box-shadow:var(--shadow-sm)}.mini-kpi>span,.mini-kpi small{display:block;color:var(--muted);font-size:10px}.mini-kpi strong{display:block;font-size:18px;margin:7px 0 5px;letter-spacing:-.02em}.mini-kpi progress{width:100%;margin-top:4px}.task-list,.milestone-list,.member-list,.timeline{display:grid}.task-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}.task-item:last-child,.milestone-item:last-child,.member-row:last-child,.timeline-item:last-child{border-bottom:0}.task-state{display:block;width:10px;height:10px;border-radius:999px;margin-top:4px;background:#98a2b3}.task-state-in_progress{background:#2e90fa}.task-state-blocked{background:#f79009}.task-state-done{background:#12b76a}.task-state-cancelled{background:#667085}.task-copy{min-width:0}.task-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-copy>span,.task-copy p{font-size:10px;color:var(--muted);margin:4px 0 0;line-height:1.45}.status-form select{min-width:112px;height:30px;padding:0 25px 0 8px;font-size:9px}.milestone-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}.milestone-dot{width:9px;height:9px;border-radius:999px;background:#98a2b3;margin-top:4px}.milestone-in_progress{background:#2e90fa}.milestone-completed{background:#12b76a}.milestone-cancelled{background:#667085}.milestone-item strong,.milestone-item span{display:block}.milestone-item span,.milestone-item p{font-size:10px;color:var(--muted);margin:3px 0 0;line-height:1.45}.member-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.member-copy strong,.member-copy span{display:block}.member-copy strong{font-size:11px}.member-copy span{font-size:9px;color:var(--muted);margin-top:2px}.timeline-item{position:relative;display:grid;grid-template-columns:13px minmax(0,1fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.timeline-dot{width:8px;height:8px;border:2px solid #84caff;border-radius:999px;background:white;margin-top:3px}.timeline-copy strong,.timeline-copy span{display:block}.timeline-copy strong{font-size:11px}.timeline-copy span{font-size:9px;color:var(--muted);margin-top:3px}.timeline-event{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);font-size:8px;background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;padding:4px 7px;height:max-content}
@media(max-width:1050px){.detail-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.detail-head{align-items:flex-start;flex-direction:column}.detail-head .page-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.info-grid{grid-template-columns:1fr}.info-item.span-2{grid-column:span 1}.contact-grid,.project-kpis{grid-template-columns:1fr}.task-item,.milestone-item{grid-template-columns:14px minmax(0,1fr)}.task-item .status-form,.milestone-item .status-form{grid-column:2}.timeline-item{grid-template-columns:12px minmax(0,1fr)}.timeline-event{display:none}}

/* v0.2.2 – SLMM Graphite Dark UI
   Deliberately dark, but not pure black: readable for long administrative sessions. */
:root{
  --bg:#0a111b;
  --panel:#111b28;
  --panel-soft:#162231;
  --surface:#111b28;
  --surface-soft:#162231;
  --line:#26364a;
  --line-strong:#344a62;
  --text:#e7eef8;
  --muted:#91a3b8;
  --muted-2:#6f839a;
  --brand:#3b82f6;
  --brand-2:#2aa7f7;
  --cyan:#38bdf8;
  --teal:#2dd4bf;
  --teal-soft:#102c2b;
  --blue-soft:#14263f;
  --danger:#fb7185;
  --danger-soft:#341821;
  --warning:#fbbf24;
  --warning-soft:#352811;
  --success:#34d399;
  --success-soft:#102d25;
  --primary:#60a5fa;
  --shadow:0 12px 30px rgba(0,0,0,.20);
  --shadow-sm:0 7px 18px rgba(0,0,0,.16);
  --shadow-lg:0 28px 70px rgba(0,0,0,.42);
}
html{background:var(--bg);color:var(--text);color-scheme:dark}
.app-body{background:radial-gradient(circle at 84% -4%,rgba(35,88,155,.20) 0,transparent 28%),radial-gradient(circle at 15% 100%,rgba(13,148,136,.08) 0,transparent 24%),var(--bg)}
.sidebar{background:#0d1622;border-right-color:var(--line)}
.brand{color:#dce9f8}.brand strong{color:#fff}.brand small{color:#71879f}.brand-mark{color:#55a0ff}
.nav-item{color:#9fb1c5}.nav-item svg{color:#718aa4}.nav-item:hover{background:#142236;color:#e6f0fb}.nav-item.active{background:linear-gradient(90deg,#17345b,#14263f);color:#78b1ff;box-shadow:inset 3px 0 0 #3b82f6}.nav-item.active svg{color:#69a8ff}.nav-badge{background:#1b2a3b;color:#8499b0;border:1px solid #26384d}
.sidebar-foot{border-top-color:var(--line)}
.topbar{background:rgba(12,20,31,.92);border-bottom-color:var(--line);box-shadow:0 8px 30px rgba(0,0,0,.12)}
.global-search{border-color:var(--line-strong);background:#121d2a;color:#8096ad}.global-search input{color:#c8d5e4}.global-search input::placeholder{color:#637990}.kbd{border-color:#33465b;background:#172331;color:#8699ad}
.icon-button{color:#8fa5bc}.icon-button:hover{background:#172536;color:#dce8f5}.notification-dot{border-color:#0c141f}
.avatar{background:linear-gradient(145deg,#1b4f8b,#1679b8)}.avatar.small{background:linear-gradient(145deg,#159e91,#197fb4)}
.user-copy strong{color:#e9f0f8}.text-button{color:#8ea3ba}.text-button:hover{color:#c9d8e8}
.page-head h1,.detail-head h1{color:#f0f5fb}.page-head p,.detail-head p{color:var(--muted)}.eyebrow{color:#66a7ff}
.btn-primary{background:linear-gradient(135deg,#2563eb,#168bd8);box-shadow:0 8px 22px rgba(37,99,235,.24)}
.btn-secondary{background:#152130;border-color:var(--line-strong);color:#c4d2e1}.btn-secondary:hover{background:#1a2a3c}
.card,.kpi-card,.mini-kpi{background:var(--panel);border-color:var(--line);box-shadow:var(--shadow)}
.card-head{border-bottom-color:var(--line)}.card-head h2{color:#e8eff8}.link{color:#69a8ff}
.alert-error{background:#321922;border-color:#5b2632;color:#fda4af}.alert-success{background:#102c26;border-color:#205344;color:#6ee7c2}
.kpi-icon.blue{background:#142a49;color:#60a5fa}.kpi-icon.cyan{background:#102b3d;color:#38bdf8}.kpi-icon.indigo{background:#20264a;color:#8b9cff}.kpi-icon.teal{background:#112f2c;color:#2dd4bf}
.kpi-card span:not(.kpi-icon){color:#9aadc1}.kpi-card strong{color:#edf4fc}.kpi-card small{color:#72879e}
table{color:var(--text)}th{background:#0e1824;color:#7e92a8;border-bottom-color:var(--line)}td{border-bottom-color:#203043;color:#b7c6d6}td strong{color:#e1eaf4}.cell-sub{color:#8195aa}tbody tr:hover{background:#152130}
.status-badge{background:#162b46;color:#77b3ff}.status-planned{background:#102b3b;color:#54c8f2}.status-in_progress,.status-commissioned{background:#142b4a;color:#73b0ff}.status-completed,.status-active,.status-billed{background:#102e27;color:#5ce0b6}.status-waiting_customer,.status-offer{background:#332711;color:#f2c462}.status-blocked_internal,.status-critical{background:#341922;color:#ff8fa0}.status-inquiry,.status-lead{background:#202b38;color:#9daec1}
.progress-native,.progress-native::-webkit-progress-bar{background:#273648}.progress-native::-webkit-progress-value,.progress-native::-moz-progress-bar{background:linear-gradient(90deg,#38bdf8,#3b82f6)}.progress-row strong{color:#8fa5bc}
.priority{background:#1d2a39;color:#94a7bc}.priority-high{background:#332711;color:#f2c462}.priority-critical{background:#341922;color:#ff8fa0}.yes-pill,.live-badge{background:#102e27;color:#5ce0b6}
.timer-orbit{border-color:#19423d;border-top-color:var(--teal);color:var(--teal)}
.app-dialog{background:var(--panel);border-color:var(--line);color:var(--text)}.app-dialog::backdrop{background:rgba(2,6,12,.68)}.dialog-head{border-bottom-color:var(--line)}.dialog-actions{border-top-color:var(--line);background:#0e1824}
.form-grid label,.login-card label{color:#9eb0c3}.form-grid input,.form-grid select,.form-grid textarea,.login-card input,.status-form select{border-color:var(--line-strong);background:#0e1824;color:#dce6f1}.form-grid input::placeholder,.form-grid textarea::placeholder,.login-card input::placeholder{color:#62778e}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.login-card input:focus{border-color:#4a8de5;box-shadow:0 0 0 3px rgba(59,130,246,.16)}
.placeholder-icon{background:#142b49;color:#69a8ff}.product-pill{background:#142b49;color:#74afff}.app-footer{color:#657a91}
.login-body{background:#09111b}.login-panel{background:radial-gradient(circle at 100% 0,rgba(35,88,155,.22),transparent 34%),#0b141f}.login-card{background:#111b28;border-color:#29394c}.login-card-head h2{color:#f0f5fb}.login-meta{color:#71859b}
.info-item,.contact-card{background:var(--surface-soft);border-color:var(--line)}.compact-dl>div,.stack-row,.task-item,.milestone-item,.member-row,.timeline-item{border-bottom-color:var(--line)}
.text-danger{color:#fb7185}.btn-danger-soft{background:#321922;border-color:#612936;color:#fda4af}.btn-danger{background:#be3447;border-color:#be3447}.timeline-dot{background:#111b28;border-color:#60a5fa}.timeline-event{background:#162231;border-color:#2a3c50}.task-state{background:#64748b}.milestone-dot{background:#64748b}
/* native select popups / browser autofill */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:#e7eef8;-webkit-box-shadow:0 0 0 1000px #0e1824 inset;transition:background-color 9999s ease-in-out 0s}
::selection{background:#245fae;color:#fff}
.pipeline-node:not(:last-child):after{color:#42566c}.pipeline-icon{background:#14283d;color:#54b5f3}.pipeline-node:nth-child(5) .pipeline-icon{background:linear-gradient(145deg,#1d5fd1,#168bc7);box-shadow:0 8px 18px rgba(16,89,181,.24)}
.donut{background:conic-gradient(var(--brand) 0 2%,var(--teal) 2% 4%,#263649 4% 100%)}.donut:after{background:var(--panel)}.donut-block li strong{color:#b7c7d8}.dot.gray{background:#53677d}
.journal-item{border-bottom-color:#203043}.calendar-tile{background:#142b49;color:#75b2ff}.empty-state strong{color:#c9d6e4}.empty-icon{background:#14283f;color:#68a9f7}
.filter-search>svg{color:#73889f}.filter-search input{border-color:var(--line-strong);background:#0e1824;color:#dbe5ef}.filter-search input::placeholder{color:#61768d}.filter-search input:focus{border-color:#4a8de5;box-shadow:0 0 0 3px rgba(59,130,246,.16)}
::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:#0b141f}::-webkit-scrollbar-thumb{background:#2b3d52;border:3px solid #0b141f;border-radius:20px}::-webkit-scrollbar-thumb:hover{background:#3a506a}

/* v0.4.0 – server-authoritative time tracking */
.engine-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #235247;border-radius:999px;background:#102d27;color:#66dfba;font-size:10px;font-weight:700}.engine-pill i,.live-badge i{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.11)}
.time-live-card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;padding:28px 30px;border-color:#235247;background:linear-gradient(135deg,#111e29,#102a29 145%)}.time-live-glow{position:absolute;width:300px;height:300px;border-radius:50%;right:-100px;top:-170px;background:rgba(45,212,191,.10);filter:blur(12px);pointer-events:none}.time-live-main,.time-live-actions{position:relative;z-index:1}.time-live-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px}.time-live-main h2{font-size:22px;margin:13px 0 5px}.time-live-main p{margin:0;color:var(--muted);font-size:11px}.time-counter{font:700 clamp(38px,6vw,68px)/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-4px;color:#d9fff5;margin:30px 0 18px;text-shadow:0 0 30px rgba(45,212,191,.12)}.time-substats{display:flex;gap:24px;flex-wrap:wrap}.time-substats span{color:var(--muted);font-size:9px}.time-substats strong{display:block;color:#cbd9e7;font-size:11px;margin-top:3px}.time-live-actions{display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:145px}.time-action{width:100%;justify-content:center;min-height:42px}
.time-start-card{padding:26px}.time-start-copy{display:flex;gap:15px;align-items:center;margin-bottom:22px}.time-start-copy h2{margin:3px 0 4px;font-size:18px}.time-start-copy p{margin:0;color:var(--muted);font-size:10px}.time-start-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#102f2a;color:#42d8ba}.time-start-icon svg{width:24px;height:24px;fill:currentColor}.time-start-form{display:grid;grid-template-columns:1.25fr 1fr 1.4fr auto;gap:12px;align-items:end}.time-start-form label{display:grid;gap:6px;color:#9eb0c3;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.time-start-form select,.time-start-form input{height:42px;border:1px solid var(--line-strong);border-radius:8px;background:#0e1824;color:#dce6f1;padding:0 11px;outline:none}.time-start-form select:focus,.time-start-form input:focus{border-color:#4a8de5;box-shadow:0 0 0 3px rgba(59,130,246,.16)}.time-start-button{height:42px;white-space:nowrap}.time-empty-assignment{border:1px dashed var(--line-strong);background:#0d1823;padding:18px;border-radius:10px;display:flex;gap:10px;align-items:center}.time-empty-assignment strong{font-size:11px}.time-empty-assignment span{font-size:10px;color:var(--muted);flex:1}.time-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.time-state{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:700;background:#1c2b3a;color:#9db0c3}.time-state-running{background:#102e27;color:#5ce0b6}.time-state-paused{background:#352811;color:#f1c761}.time-state-stopped{background:#172331;color:#8ea4bb}.subtle{color:var(--muted)}.time-table td{vertical-align:middle}
@media(max-width:1050px){.time-start-form{grid-template-columns:1fr 1fr}.time-description{grid-column:span 2}.time-start-button{width:100%}.time-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.time-live-card{grid-template-columns:1fr;padding:22px}.time-live-actions{display:grid;grid-template-columns:1fr 1fr}.time-counter{letter-spacing:-2px}.time-start-form{grid-template-columns:1fr}.time-description{grid-column:span 1}.time-summary-grid{grid-template-columns:1fr 1fr}.time-substats{gap:14px}.time-empty-assignment{align-items:flex-start;flex-direction:column}}
.live-real b{color:#dce9f8}.time-donut{background:conic-gradient(var(--teal) 0 68%,#263649 68% 100%)}.time-donut>div strong{font-size:13px;letter-spacing:-.5px}
.correction-pending{color:#f2c462!important}.correction-dialog{max-width:640px}.correction-original{padding:12px;border:1px solid var(--line);background:#0d1823;border-radius:8px}.correction-original strong,.correction-original span{display:block}.correction-original strong{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#8ca1b7}.correction-original span{font-size:10px;color:#c6d3e1;margin-top:4px}.correction-count{font-size:9px;font-weight:700;color:#f2c462;background:#332711;border:1px solid #574519;padding:5px 8px;border-radius:999px}.correction-list{display:grid}.correction-review-item{padding:16px 0;border-bottom:1px solid var(--line)}.correction-review-item:last-child{border-bottom:0}.correction-review-head{display:flex;justify-content:space-between;gap:14px}.correction-review-head strong,.correction-review-head span{display:block}.correction-review-head strong{font-size:11px}.correction-review-head span,.correction-review-head time{font-size:9px;color:var(--muted);margin-top:3px}.correction-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin:13px 0;padding:13px;background:#0d1823;border:1px solid var(--line);border-radius:9px}.correction-compare>div:not(.correction-arrow)>span,.correction-compare strong,.correction-compare small{display:block}.correction-compare>div:not(.correction-arrow)>span{font-size:8px;color:#71879d;text-transform:uppercase;letter-spacing:.08em}.correction-compare strong{font-size:10px;color:#dbe6f1;margin-top:4px}.correction-compare small{font-size:9px;color:var(--muted);margin-top:4px}.correction-arrow{color:#4f6984;font-size:18px}.correction-reason span{font-size:8px;color:#71879d;text-transform:uppercase;letter-spacing:.08em}.correction-reason p{font-size:10px;color:#bdcbd9;margin:5px 0 0}.correction-decisions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.correction-decisions form{display:grid;grid-template-columns:1fr auto;gap:8px}.correction-decisions input{min-width:0;height:36px;border:1px solid var(--line-strong);border-radius:7px;background:#0e1824;color:#dce6f1;padding:0 10px}.table-actions{white-space:nowrap}
@media(max-width:700px){.correction-compare{grid-template-columns:1fr}.correction-arrow{transform:rotate(90deg);justify-self:center}.correction-decisions{grid-template-columns:1fr}.correction-decisions form{grid-template-columns:1fr}.correction-review-head{flex-direction:column}}
.upcoming-list{display:grid}.upcoming-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.upcoming-item:last-child{border-bottom:0}.upcoming-item:hover strong{color:#76b2ff}.upcoming-item strong,.upcoming-item span{display:block}.upcoming-item strong{font-size:10px}.upcoming-item div>span{font-size:9px;color:var(--muted);margin-top:3px}.upcoming-item .calendar-tile{width:34px;height:34px;font-size:12px}.upcoming-item .calendar-tile small{font-size:6px}
