:root{--bg: #f5f7fb;--surface: #ffffff;--surface-soft: #f8fafc;--text: #142033;--muted: #667085;--border: #dfe6f0;--blue: #0050aa;--blue-dark: #003781;--blue-soft: #e7f0ff;--green: #047857;--green-soft: #dff7ed;--amber: #b45309;--amber-soft: #fff3d6;--red: #b42318;--red-soft: #ffe4e0;--shadow: 0 16px 36px rgba(20, 32, 51, .08)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:17px;line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:0 28px;background:#ffffffeb;border-bottom:1px solid var(--border);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--blue-dark);font-weight:800;text-decoration:none}.brand-logo{display:block;width:112px;height:auto;flex:0 0 auto}.app-nav{display:inline-flex;gap:8px;padding:6px;background:var(--surface-soft);border:1px solid var(--border);border-radius:999px}.app-nav a{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;color:var(--muted);border-radius:999px;font-weight:700;text-decoration:none}.app-nav a.active{background:var(--blue);color:#fff}.page-shell{width:min(1760px,calc(100% - 28px));margin:0 auto;padding:22px 0 40px}.page-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:10px 0 18px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(30px,4vw,42px);line-height:1.1}h2{margin-bottom:14px;font-size:18px}h3{margin-bottom:8px;font-size:16px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;background:var(--blue);color:#fff;border-radius:12px;font-weight:800;text-decoration:none;transition:background .2s ease,transform .2s ease}.button:hover,.icon-button:hover{background:var(--blue-dark)}.button.secondary{background:var(--surface);color:var(--blue-dark);border:1px solid var(--border)}.button.secondary:hover{background:var(--blue-soft)}.button.danger{background:var(--red)}.button:disabled{cursor:wait;opacity:.65}.mail-dialog{width:min(620px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;overflow-y:auto;color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:0 24px 70px #1420333d}.mail-dialog::backdrop{background:#1420337a}.mail-dialog-form{display:grid;gap:18px;padding:22px}.mail-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.mail-dialog-head h2{margin:0 0 4px;font-size:22px}.mail-dialog-head p{margin:0;color:var(--muted);font-size:14px}.dialog-close{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;background:var(--surface-soft);color:var(--muted);border:1px solid var(--border);border-radius:8px;font-size:25px;line-height:1}.dialog-close:hover{background:var(--blue-soft);color:var(--blue-dark)}.mail-dialog .field small{color:var(--muted);font-size:12px;font-weight:500}.mail-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.form-message{min-height:24px;margin:0;color:var(--muted);font-size:14px;font-weight:700}.form-message.success{color:var(--green)}.form-message.error{color:var(--red)}.grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:stretch}.two-column{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.tasks-workspace{grid-template-columns:1fr}.card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.card{padding:18px}.stat-card-link{color:inherit;text-decoration:none}.stat-card-link:hover,.stat-card-link:focus-visible{border-color:#0050aa52;box-shadow:0 16px 38px #0050aa1f}.panel{padding:22px}.stat-label{margin-bottom:6px;color:var(--muted);font-size:14px;font-weight:700}.stat-value{margin:0;color:var(--blue-dark);font-size:36px;font-weight:850;line-height:1}.stat-note{margin:8px 0 0;color:var(--muted);font-size:13px}.stat-secondary{background:#f8fafc}.stat-secondary .stat-value{color:var(--muted)}.panel-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-toolbar h2{margin:0}.date-filter{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px;font-weight:800}.date-filter input{min-height:38px}.form-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.field{display:grid;gap:7px}.field.span-2{grid-column:span 2}.field.span-3{grid-column:span 3}.field.span-6{grid-column:span 6}label{color:var(--muted);font-size:13px;font-weight:800}input,select,textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}input,select{min-height:42px;padding:0 12px}.owner-multiselect{min-height:96px;padding:6px}.owner-multiselect option{min-height:28px;padding:5px 8px;border-radius:6px;line-height:1.25}.compact-multiselect{height:108px;min-height:108px}.case-form{align-items:start}.case-form textarea{min-height:108px}.project-form textarea,.project-edit-form textarea,.project-step-form textarea{min-height:96px}select{overflow:hidden;text-overflow:ellipsis}textarea{min-height:78px;height:auto;padding:12px;overflow:hidden;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:3px solid rgba(0,80,170,.14)}.table-tools{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:12px}.table-wrapper{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:8px}table{width:100%;min-width:1120px;border-collapse:collapse;background:#fff}.tasks-workspace table,.tasks-table{min-width:1460px}.tasks-table .col-producer{width:190px}.project-workspace{display:grid;grid-template-columns:minmax(280px,.36fr) minmax(0,1fr);gap:20px;align-items:start}.project-tools{grid-template-columns:minmax(0,1fr)}.project-list{display:grid;gap:10px}.project-list-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.project-create-panel{margin-bottom:20px}.project-section-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}.project-section-head h2{margin:0}.project-item{display:grid;width:100%;grid-template-columns:minmax(0,1fr) 88px 42px;gap:10px;align-items:center;padding:12px;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:8px;text-align:left;cursor:pointer}.project-item:hover,.project-item.active{border-color:var(--blue);background:#f8fbff}.project-item strong,.project-item small{display:block;overflow:hidden;text-overflow:ellipsis}.project-item strong{font-size:14px;white-space:nowrap}.project-item small{margin-top:5px;color:var(--muted);font-size:12px;white-space:nowrap}.project-item em{color:var(--blue-dark);font-style:normal;font-weight:900;text-align:right}.project-mini-progress,.project-progress-bar{display:block;overflow:hidden;background:#edf1f7;border-radius:999px}.project-mini-progress{height:8px}.project-mini-progress span,.project-progress-bar span{display:block;height:100%;background:var(--blue);border-radius:inherit}.project-detail-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:20px}#projectDetailView{padding:28px}.project-detail-head h2{margin:14px 0 6px}.project-progress-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;align-items:center;padding:16px;margin-bottom:18px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px}.executive-project-summary{display:grid;grid-template-columns:minmax(340px,1.25fr) repeat(2,minmax(190px,1fr));gap:16px;margin-bottom:22px}.project-progress-card-feature{grid-template-columns:190px minmax(0,1fr);padding:22px;margin-bottom:16px;background:linear-gradient(135deg,#f8fbff,#eef6ff)}.project-progress-content strong,.project-kpi-card strong{display:block;color:var(--ink)}.project-progress-content strong{margin-bottom:9px;font-size:15px}.project-kpi-card{min-height:146px;padding:18px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px}.project-kpi-card span{display:block;margin-bottom:10px;color:var(--muted);font-size:12px;font-weight:850;letter-spacing:0;text-transform:uppercase}.project-kpi-card strong{font-size:16px;line-height:1.35}.owner-chart-card{min-height:190px}.owner-chart-layout{display:grid;grid-template-columns:122px minmax(0,1fr);gap:16px;align-items:center}.owner-donut{position:relative;display:grid;width:122px;height:122px;place-items:center;border-radius:50%;box-shadow:inset 0 0 0 1px #0050aa1f}.owner-donut:after{position:absolute;width:72px;height:72px;background:var(--surface-soft);border:1px solid var(--border);border-radius:50%;content:""}.owner-chart-legend{display:grid;gap:8px;min-width:0}.owner-chart-row{display:grid;grid-template-columns:12px minmax(0,1fr) 26px;gap:8px;align-items:center;color:var(--ink);font-size:13px}.owner-chart-row span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-chart-row strong{text-align:right}.project-progress-number{color:var(--blue-dark);font-size:64px;font-weight:900;line-height:1}.project-progress-bar{height:18px;margin-bottom:11px}.project-progress-content p{margin:0;color:var(--muted);font-size:13px}.project-step-header{margin-top:22px}.project-step-header h2{margin-bottom:12px}.project-step-form{padding:14px;margin-bottom:16px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px}.project-steps-table{margin-top:12px}.project-steps-table table{min-width:1220px}.project-steps-table input,.project-steps-table select{min-height:36px}.project-steps-table textarea{min-height:112px;margin-top:8px}.project-steps-table .col-title{width:460px}.step-notes{min-height:132px;line-height:1.45}.col-step-order{width:70px}.col-duration{width:150px}.step-order{padding:0 8px}.col-producer{width:128px}.col-title{width:auto}.col-owner{width:190px}.col-status{width:150px}.col-priority{width:112px}.col-date{width:126px}.col-updated-date{width:142px}.col-actions{width:128px}th,td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:850;letter-spacing:0;text-transform:uppercase;white-space:nowrap}tbody tr:hover{background:#fbfdff}.task-row{cursor:pointer}.task-row:hover{background:#f3f8ff}.row-flash{animation:row-flash 3.2s ease-out}@keyframes row-flash{0%{background:#fff4bf;box-shadow:inset 4px 0 #f5a623}45%{background:#e9f8ff;box-shadow:inset 4px 0 #00a3a1}to{background:transparent;box-shadow:inset 4px 0 0 transparent}}.pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:800;line-height:1.2;white-space:normal}.pill.blue{background:var(--blue-soft);color:var(--blue-dark)}.pill.green{background:var(--green-soft);color:var(--green)}.pill.amber{background:var(--amber-soft);color:var(--amber)}.pill.red{background:var(--red-soft);color:var(--red)}.chip-list{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;color:var(--blue-dark);background:var(--blue-soft);border:1px solid #c8d8ed;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.muted{color:var(--muted)}.empty-state,.notice{padding:18px;color:var(--muted);background:var(--surface-soft);border:1px dashed var(--border);border-radius:8px;text-align:center}.is-hidden{display:none!important}.bar-list{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(160px,1fr) 42px;gap:12px;align-items:center;color:var(--muted)}.bar-link{padding:6px 8px;border-radius:8px;text-decoration:none}.bar-link:hover,.bar-link:focus-visible{background:var(--surface-soft)}.bar-row>span{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.producer-label{display:inline-grid;max-width:100%;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;color:var(--text);font-weight:800}.producer-label>span:last-child{overflow-wrap:anywhere;line-height:1.2}.producer-icon{position:relative;display:grid;width:30px;height:30px;place-items:center;overflow:hidden;color:var(--producer-color, var(--blue));background:color-mix(in srgb,var(--producer-color, var(--blue)) 12%,white);border:1px solid color-mix(in srgb,var(--producer-color, var(--blue)) 28%,white);border-radius:8px;font-size:13px;font-weight:900}.producer-icon img{position:absolute;width:19px;height:19px;object-fit:contain}.producer-icon img+span{opacity:.2}.bar{height:12px;overflow:hidden;background:#edf1f7;border-radius:999px}.bar span{display:block;height:100%;background:var(--blue);border-radius:inherit}.project-progress-list{display:grid;gap:14px}.project-progress-list-wide{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.project-progress-row{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:center;padding:16px;color:inherit;background:linear-gradient(135deg,#fff,#f3f9ff 58%,#f8fffb);border:1px solid rgba(0,80,170,.18);border-radius:8px;box-shadow:0 14px 34px #0050aa14;text-decoration:none}.project-progress-percent{display:grid;min-height:88px;place-items:center;color:#fff;font-size:36px;font-weight:950;line-height:1;background:radial-gradient(circle at 24% 22%,rgba(255,255,255,.38),transparent 30%),linear-gradient(135deg,#0050aa,#00a3a1 58%,#f5a623);border:1px solid rgba(255,255,255,.32);border-radius:8px;box-shadow:0 12px 26px #0050aa38}.project-progress-main{display:grid;gap:12px;min-width:0}.project-progress-row:hover,.project-progress-row:focus-visible{background:linear-gradient(135deg,#eef7ff,#f8fbff,#ecfff8);border-color:#0050aa5c}.project-progress-row-head{min-width:0}.project-progress-row-head span{overflow:hidden;color:var(--ink);font-size:20px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.project-progress-row p{margin:0;color:var(--muted);font-size:14px;font-weight:700}.project-progress-row .project-mini-progress{height:16px;background:#0050aa1a}.project-progress-row .project-mini-progress span{background:linear-gradient(90deg,#0050aa,#00a3a1 55%,#f5a623);box-shadow:0 0 14px #00a3a159}.donut-layout{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:22px}.donut-chart{position:relative;display:grid;width:180px;height:180px;place-items:center;border-radius:50%;box-shadow:inset 0 0 0 1px #14203314}.donut-chart:after{position:absolute;width:108px;height:108px;background:var(--surface);border-radius:50%;box-shadow:0 0 0 1px var(--border);content:""}.donut-chart span,.donut-chart small{position:relative;z-index:1}.donut-chart span{color:var(--ink);font-size:34px;font-weight:900;line-height:1}.donut-chart small{position:absolute;z-index:1;margin-top:42px;color:var(--muted);font-size:12px;font-weight:700}.legend-list{display:grid;gap:10px}.legend-row{display:grid;grid-template-columns:12px minmax(0,1fr) 34px;align-items:center;gap:9px;font-size:14px}.legend-link{padding:6px 8px;color:inherit;border-radius:8px;text-decoration:none}.legend-link:hover,.legend-link:focus-visible{background:var(--surface-soft)}.legend-row span:nth-child(2){overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.legend-dot{width:12px;height:12px;border-radius:999px}.record-list{display:grid;gap:12px}.record-item{padding:12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px}.record-title{margin:0 0 5px;font-weight:800}.record-meta{margin:0;color:var(--muted);font-size:13px}.task-detail{display:grid;gap:12px;scroll-margin-top:18px}.expanded-row td{padding:0;background:#f8fafc}.inline-detail{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;padding:18px;border-top:1px solid var(--border)}.inline-detail .task-detail{grid-template-columns:repeat(6,minmax(0,1fr));align-content:start}.inline-detail textarea{min-height:120px}.inline-detail h3{margin:0 0 10px;font-size:16px}.history-list{display:grid;max-height:520px;gap:12px;overflow:auto}.history-item{padding:12px;border-left:4px solid var(--blue);background:var(--surface-soft);border-radius:8px}.history-item p{margin-bottom:6px}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.row-actions .button{min-height:34px;padding:0 10px;border-radius:8px;font-size:13px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.stats-grid,.dashboard-grid,.two-column{grid-template-columns:1fr 1fr}.inline-detail,.project-workspace{grid-template-columns:1fr}.executive-project-summary{grid-template-columns:1fr 1fr}.form-grid,.inline-detail .task-detail{grid-template-columns:repeat(2,minmax(0,1fr))}.donut-layout{grid-template-columns:160px minmax(0,1fr)}.donut-chart{width:160px;height:160px}.field.span-2,.field.span-3,.field.span-6{grid-column:span 2}}@media(max-width:760px){.app-header,.page-hero{align-items:stretch;grid-template-columns:1fr}.app-header{position:static;flex-direction:column;padding:16px}.app-nav{width:100%;justify-content:center;overflow-x:auto}.page-shell{width:min(100% - 24px,1760px);padding-top:18px}.stats-grid,.dashboard-grid,.two-column,.form-grid,.inline-detail,.inline-detail .task-detail,.project-tools,.table-tools,.project-item,.project-progress-card,.project-progress-row,.executive-project-summary,.owner-chart-layout{grid-template-columns:1fr}.project-progress-percent{min-height:76px;font-size:32px}.project-item em{text-align:left}.donut-layout{grid-template-columns:1fr;justify-items:center}.legend-list{width:100%}.field.span-2,.field.span-3,.field.span-6{grid-column:span 1}.hero-actions{justify-content:stretch}.hero-actions .button{flex:1}}
