:root{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#edf1f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#edf1f7}#root{min-height:100vh}a{color:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:16px 32px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:600;font-size:18px;color:#1d4ed8;cursor:pointer}.app-nav{display:flex;gap:16px}.app-nav a{text-decoration:none;color:#475569;font-weight:500;padding:6px 10px;border-radius:6px}.app-nav .app-help-link{color:#fff;background:#2563eb;border:1px solid #2563eb;font-weight:600;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.app-nav .app-help-link:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.app-nav a.active{background:#e0edff;color:#1d4ed8}.app-nav .app-help-link.active{color:#1e40af;background:#e0edff;border-color:#bfdbfe}.app-nav .app-help-link.active:hover{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.app-main{flex:1;padding:32px 32px 48px;max-width:1200px;width:100%;margin:0 auto}.app-main--wide{max-width:100%;padding-left:24px;padding-right:24px}.page-title{margin:0 0 8px;font-size:28px;font-weight:600}.subtitle{margin:0 0 24px;color:#64748b}.card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:24px;margin-bottom:24px;box-shadow:0 1px 2px #0f172a14}.dashboard-card{background:#fff;border-radius:12px;margin-bottom:24px;box-shadow:0 1px 2px #0f172a14}.input-row{display:flex;gap:12px;flex-wrap:wrap}.input-row input[type=text]{flex:1;min-width:240px;padding:10px 12px;border-radius:8px;border:1px solid #cbd5f5;font-size:16px}.card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.tasks-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px;padding:14px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.form-field-label{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.form-control{width:min(500px,100%);min-height:40px;padding:9px 12px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-size:14px;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.form-control:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.form-control::placeholder{color:#94a3b8}.form-field-search{grid-column:span 2}@media(max-width:920px){.form-field-search{grid-column:span 1}}button{border-radius:8px;border:none;padding:10px 18px;font-size:15px;font-weight:600;font-family:inherit;background-color:#2563eb;color:#fff;cursor:pointer;transition:opacity .2s ease}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#e2e8f0;color:#0f172a}.projects-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.projects-list li a{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:10px;text-decoration:none;border:1px solid #e2e8f0;background:#fff;transition:border-color .2s ease,transform .2s ease}.projects-list li a:hover{border-color:#2563eb;transform:translateY(-1px)}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;background:#e2e8f0;color:#0f172a;text-transform:uppercase;letter-spacing:.03em}.documents-table,.acts-table{width:100%;border-collapse:collapse;margin-top:12px}.documents-table th,.documents-table td,.acts-table th,.acts-table td{text-align:center;padding:12px 8px;border-bottom:1px solid #e2e8f0}.documents-table th,.acts-table th{text-align:center;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.empty-state{padding:32px;text-align:center;color:#94a3b8}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;color:#2563eb;text-decoration:none;font-weight:500}.groups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:16px}.group-card{border:1px solid #e2e8f0;border-radius:10px;padding:16px;background:#fff}.group-card h4{margin:0 0 8px}.tasks-table{width:100%;border-collapse:collapse;font-size:14px}.tasks-table th,.tasks-table td{border-bottom:1px solid #eef2f7;padding:8px 4px}.task-units-cell{display:inline-flex;align-items:flex-start;gap:8px}.task-units-warning{position:relative;display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;flex-shrink:0;width:22px;height:22px;border-radius:50%;background:#fff7ed;color:#d97706;cursor:help}.task-units-warning__popup{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);min-width:220px;max-width:320px;padding:8px 10px;border-radius:8px;border:1px solid #f59e0b;background:#fffbeb;color:#92400e;font-size:12px;line-height:1.35;box-shadow:0 6px 18px #0f172a1f;visibility:hidden;opacity:0;z-index:30;transition:opacity .15s ease;pointer-events:none}.task-units-warning:hover .task-units-warning__popup,.task-units-warning:focus-within .task-units-warning__popup{visibility:visible;opacity:1}.order-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.order-meta div{display:flex;flex-direction:column;font-size:14px;color:#475569}.order-meta span{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.order-info-table-wrap{margin-top:10px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.order-info-table{width:100%;border-collapse:collapse}.order-info-table th,.order-info-table td{text-align:center;padding:12px 14px;border-bottom:1px solid #e2e8f0;vertical-align:middle}.order-info-table th{background:#f8fafc;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#64748b;font-weight:600}.order-info-table tbody tr:last-child td{border-bottom:none}.order-info-file-cell{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}.order-info-file-name{font-weight:500;color:#0f172a;word-break:break-word}.order-info-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:12px;font-weight:600;letter-spacing:.02em}.order-info-download-link{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:7px;background:#f1f5f9;border:1px solid #cbd5e1;color:#1e40af;text-decoration:none;font-size:12px;font-weight:600;white-space:nowrap;transition:all .15s ease}.order-info-download-link:hover{background:#e0edff;border-color:#93c5fd}@media(max-width:760px){.order-info-table th,.order-info-table td{padding:10px;font-size:13px}.order-info-file-cell{flex-direction:column;align-items:center}}.order-performance-drawer{--order-drawer-tab: 46px;position:fixed;top:120px;right:0;z-index:900;pointer-events:none}.order-performance-drawer-rail{display:flex;align-items:stretch;pointer-events:auto;transform:translate(calc(100% - var(--order-drawer-tab)));transition:transform .28s cubic-bezier(.4,0,.2,1);filter:drop-shadow(-6px 4px 16px rgba(15,23,42,.12))}.order-performance-drawer--open .order-performance-drawer-rail{transform:translate(0)}.order-performance-drawer-toggle{flex:0 0 var(--order-drawer-tab);width:var(--order-drawer-tab);min-height:120px;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border:1px solid #e2e8f0;border-right:none;border-radius:12px 0 0 12px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);color:#1d4ed8;box-shadow:none}.order-performance-drawer-toggle:hover:not(:disabled){background:linear-gradient(180deg,#eff6ff,#e0edff);color:#1e40af}.order-performance-drawer-toggle:disabled{color:#94a3b8;background:#f1f5f9;cursor:not-allowed}.order-performance-drawer-chevron{display:block;flex-shrink:0;transition:transform .28s cubic-bezier(.4,0,.2,1)}.order-performance-drawer-chevron--open{transform:rotate(180deg)}.order-performance-drawer-panel{width:min(520px,72vw);max-height:76vh;overflow:auto;background:#fff;border:1px solid #e2e8f0;border-left:none;border-radius:0 12px 12px 0;padding:16px}.order-performance-drawer-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.order-performance-drawer-header h3{margin:0;font-size:18px}.order-performance-drawer-header span{color:#64748b;font-size:13px}.order-performance-drawer-error{color:#b91c1c}.order-performance-drawer-table-wrap{overflow:auto}.order-performance-drawer-table{width:100%;border-collapse:collapse;font-size:13px}.order-performance-drawer-table th,.order-performance-drawer-table td{border-bottom:1px solid #e2e8f0;text-align:left;padding:8px 10px;vertical-align:top}.order-performance-drawer-table th{position:sticky;top:0;background:#f8fafc;z-index:1}@media(max-width:860px){.order-performance-drawer{top:90px}.order-performance-drawer-panel{width:min(100vw - var(--order-drawer-tab) - 16px,520px)}}.modal-overlay{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:24px;max-width:480px;width:90%;box-shadow:0 10px 25px #0f172a33}.modal-content h3{margin:0 0 16px;font-size:20px;font-weight:600}.modal-content p{margin:0 0 8px;color:#475569}.validation-banner{margin-top:8px;border-radius:10px;padding:10px 12px;font-size:14px}.validation-banner--info{background:#e0f2fe;color:#075985}.validation-banner--success{background:#dcfce7;color:#166534}.validation-banner--warning{background:#fef9c3;color:#854d0e}.validation-banner--error{background:#fee2e2;color:#991b1b}.validation-issues-list{margin:0;padding-left:18px;color:#334155;max-height:260px;overflow-y:auto;overflow-x:hidden;padding-right:8px}.validation-issues-list li{margin-bottom:8px}.validation-modal{border:1px solid transparent;border-left-width:6px}.validation-modal--warning{background:#fffbeb;border-color:#fcd34d}.validation-modal--warning h3{color:#a16207}.validation-modal--error{background:#fef2f2;border-color:#fca5a5}.validation-modal--error h3{color:#b91c1c}.validation-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.validation-action-button{transition:background-color .2s ease,transform .15s ease,box-shadow .2s ease}.validation-action-button--excel{background-color:#137537;color:#fff}.validation-action-button--excel:hover:not(:disabled){background-color:#0f6a31;transform:translateY(-1px);box-shadow:0 4px 8px #13753759}.validation-action-button--excel:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #13753740}.validation-action-button--close{background:#e2e8f0;color:#0f172a}.validation-action-button--close:hover:not(:disabled){background:#cbd5e1;transform:translateY(-1px)}.validation-action-button--close:active:not(:disabled){transform:translateY(0)}.delete-confirm-button{background-color:#ef4444;color:#fff}.delete-confirm-button:hover:not(:disabled){background-color:#dc2626}.open-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:8px;background-color:#2563eb;color:#fff;text-decoration:none;font-size:14px;font-weight:600;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;border:none;cursor:pointer}.open-button:hover{background-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.open-button:active{transform:translateY(0);box-shadow:0 2px 4px #2563eb33}.info-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:8px;background-color:#4f46e5;color:#fff;text-decoration:none;font-size:14px;font-weight:600;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;border:none;cursor:pointer}.info-button:hover{background-color:#4338ca;transform:translateY(-1px);box-shadow:0 4px 8px #4f46e54d}.info-button:active{transform:translateY(0);box-shadow:0 2px 4px #4f46e533}.download-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:8px;background-color:#13883e;color:#fff;text-decoration:none;font-size:14px;font-weight:600;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;border:none;cursor:pointer}.download-button:hover{background-color:#137537;transform:translateY(-1px);box-shadow:0 4px 8px #16a34a4d}.download-button:active{transform:translateY(0);box-shadow:0 2px 4px #16a34a33}.delete-order-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 7px;border-radius:8px;background-color:#ef4444;color:#fff;text-decoration:none;font-size:14px;font-weight:600;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;border:none;cursor:pointer}.delete-order-button:hover{background-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.delete-order-button:active{transform:translateY(0);box-shadow:0 2px 4px #ef444433}.delete-project-button{width:32px;height:24px;padding:0;border-radius:8px;background:#cbd5e1;color:#64748b;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,color .2s ease;flex-shrink:0}.delete-project-button:hover{background:#ef4444;color:#fff}.group-name-selector{width:100%}.order-group-selector{max-width:500px}.dashboard-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,max-content));gap:12px;align-items:end;margin-bottom:16px;padding:14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.dashboard-tabs{display:inline-flex;align-items:center;gap:8px;margin:14px;padding:6px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.dashboard-tab{background:transparent;color:#475569;border:1px solid transparent;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600}.dashboard-tab:hover:not(:disabled){background:#e2e8f0}.dashboard-tab--active{background:#2563eb;color:#fff}.dashboard-tab--active:hover:not(:disabled){background:#1d4ed8}.dashboard-risks-panel{display:grid;gap:16px}.dashboard-risks-card{margin-bottom:0}.dashboard-risks-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px;color:#475569}.dashboard-risks-summary-item strong{color:#0f172a}.dashboard-risks-summary-item--high{color:#b91c1c}.dashboard-risks-summary-item--medium{color:#b45309}.dashboard-risks-summary-item--low{color:#047857}.dashboard-risks-summary-dot{width:4px;height:4px;border-radius:999px;background:#cbd5e1}.dashboard-risks-section-title{margin:0 0 12px;font-size:18px}.dashboard-risks-section-title--high{color:#b91c1c}.dashboard-risks-section-title--medium{color:#b45309}.dashboard-risks-section-title--low{color:#047857}.dashboard-risks-list{display:grid;gap:16px}.dashboard-risks-list--scroll{max-height:min(62vh,700px);overflow-y:auto;padding-right:6px}.dashboard-risks-list--scroll::-webkit-scrollbar{width:8px}.dashboard-risks-list--scroll::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.dashboard-risks-list--scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.dashboard-risks-list--scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}.dashboard-risk-item{border:1px solid #e2e8f0;border-left-width:4px;border-radius:10px;background:#fff;padding:14px 16px}.dashboard-risk-item--high{border-left-color:#dc2626;background:#fef2f2}.dashboard-risk-item--medium{border-left-color:#f59e0b;background:#fffbeb}.dashboard-risk-item--low{border-left-color:#10b981;background:#ecfdf5}.dashboard-risk-item-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.dashboard-risk-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.dashboard-risk-badge--high{background:#fee2e2;color:#b91c1c}.dashboard-risk-badge--medium{background:#fef3c7;color:#92400e}.dashboard-risk-badge--low{background:#d1fae5;color:#065f46}.dashboard-risk-type{font-size:12px;color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.dashboard-risk-message{margin:0 0 12px;color:#0f172a;font-size:14px;font-weight:500}.dashboard-risk-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 10px;font-size:13px;color:#475569}.dashboard-risk-meta--wide{grid-column:1 / -1}.dashboard-risk-metrics{margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:10px 16px;font-size:12px;color:#334155}.dashboard-risks-filters{margin-bottom:14px}.dashboard-risk-item .status-history-table{width:min(100%,540px);min-width:0}.dashboard-risk-item .status-history-card__table-wrap{width:fit-content;max-width:100%;border:none}.dashboard-risk-item .status-history-table th,.dashboard-risk-item .status-history-table td{padding:6px 8px;font-size:12px;line-height:1.3;border-bottom:none}.dashboard-risk-item .status-history-table thead th:nth-child(1),.dashboard-risk-item .status-history-table tbody th{width:130px}.dashboard-risk-item .status-history-table thead th:nth-child(2),.dashboard-risk-item .status-history-table tbody td:nth-child(2){width:410px;max-width:410px}.dashboard-risk-item .status-history-table.dashboard-risk-table--with-act thead th:nth-child(2),.dashboard-risk-item .status-history-table.dashboard-risk-table--with-act tbody td:nth-child(2),.dashboard-risk-item .status-history-table.dashboard-risk-table--with-act thead th:nth-child(3),.dashboard-risk-item .status-history-table.dashboard-risk-table--with-act tbody td:nth-child(3){width:205px;max-width:205px}.dashboard-risk-row--wide td{white-space:normal;word-break:break-word}.dashboard-controls .form-field,.dashboard-controls .form-control{max-width:260px}.dashboard-controls .dashboard-group-filter,.dashboard-controls .dashboard-group-filter .form-control{max-width:420px}.dashboard-refresh-button{min-height:40px;justify-self:start}@media(min-width:960px){.dashboard-refresh-button{justify-self:end}}.dashboard-page{width:min(1900px,100%);margin:0 auto;padding-bottom:40px}.dashboard-charts-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(280px,.8fr);grid-template-rows:auto auto auto;gap:20px;align-items:start}.dashboard-charts-shell--expanded{grid-template-columns:1fr;grid-template-rows:auto}.dashboard-primary-panel{grid-column:1 / 3;grid-row:1 / 3;min-width:0}.dashboard-secondary-panel{display:contents}.dashboard-chart-card--secondary[data-grid-pos="0"]{grid-column:3;grid-row:1}.dashboard-chart-card--secondary[data-grid-pos="1"]{grid-column:3;grid-row:2}.dashboard-chart-card--secondary[data-grid-pos="2"]{grid-column:1;grid-row:3}.dashboard-chart-card--secondary[data-grid-pos="3"]{grid-column:2;grid-row:3}.dashboard-chart-card--secondary[data-grid-pos="4"]{grid-column:3;grid-row:3}.dashboard-charts-shell--expanded .dashboard-primary-panel{grid-column:1;grid-row:1}.dashboard-charts-shell--expanded .dashboard-chart-card--secondary[data-grid-pos]{grid-column:auto;grid-row:auto}.dashboard-charts-shell--expanded .dashboard-secondary-panel{display:grid;grid-column:1;grid-row:2;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.dashboard-chart-card{padding:16px;margin-bottom:0}.dashboard-chart-clearing-state{display:flex;align-items:stretch;justify-content:stretch}.dashboard-chart-shimmer{width:100%;display:flex;flex-direction:column;gap:14px}.dashboard-chart-shimmer__bar{border-radius:10px;background:linear-gradient(90deg,#e2e8f0 8%,#f8fafc,#e2e8f0 44%);background-size:220% 100%;animation:dashboardShimmer 1.15s linear infinite}.dashboard-chart-shimmer__bar--title{width:min(340px,52%);height:18px}.dashboard-chart-shimmer__bar--legend{width:min(420px,64%);height:14px}.dashboard-chart-shimmer__bar--plot{flex:1;min-height:220px;border-radius:12px}@keyframes dashboardShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.dashboard-chart-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.dashboard-chart-header-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.dashboard-chart-help{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:50%;background:#f1f5f9;color:#475569;cursor:help}.dashboard-chart-help__popup{position:absolute;right:calc(100% + 8px);left:auto;top:50%;transform:translateY(-50%);min-width:400px;max-width:500px;padding:8px 10px;border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;font-size:12px;line-height:1.35;box-shadow:0 6px 18px #0f172a1f;visibility:hidden;opacity:0;z-index:30;transition:opacity .15s ease;pointer-events:none}.dashboard-chart-help:hover .dashboard-chart-help__popup,.dashboard-chart-help:focus-within .dashboard-chart-help__popup{visibility:visible;opacity:1}.dashboard-chart-expand-button{width:36px;height:36px;padding:0;background:#fff;color:#64748b;display:inline-flex;align-items:center;justify-content:center}.dashboard-chart-expand-button:hover:not(:disabled){background:#fff}.dashboard-chart-expand-button span{font-size:18px;line-height:1}.dashboard-chart-card--secondary{min-width:0;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.dashboard-chart-card--secondary:hover{border-color:#93c5fd;box-shadow:0 8px 20px #0f172a14;transform:translateY(-1px)}.dashboard-chart-card--secondary:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.dashboard-chart-swap-icon{font-size:16px;color:#64748b;margin-bottom:2px}@media(max-width:1360px){.dashboard-charts-shell{grid-template-columns:1fr;grid-template-rows:auto}.dashboard-primary-panel{grid-column:1;grid-row:1}.dashboard-secondary-panel{display:grid;grid-column:1;grid-row:2;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.dashboard-chart-card--secondary[data-grid-pos]{grid-column:auto;grid-row:auto}}@media(max-width:820px){.app-main--wide{padding-left:16px;padding-right:16px}.dashboard-secondary-panel,.dashboard-charts-shell--expanded .dashboard-secondary-panel{grid-template-columns:1fr}}.status-badge--planned{background:#dbeafe;color:#6c8ebf}.status-badge--in-progress{background:#fef9c3;color:#f4a261}.status-badge--completed{background:#dcfce7;color:#6a994e}.tag-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:11px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;max-width:90px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:4px}.project-card{position:relative;display:flex;flex-direction:column;justify-content:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px 14px;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s,border-color .15s;height:100%;min-height:100px}.project-card__actions{position:absolute;top:18px;right:20px;display:flex;gap:4px;z-index:2}.project-card__name-wrapper{flex:1;display:flex;align-items:center;padding:8px 0}.project-card:hover{border-color:#2563eb;box-shadow:0 4px 16px #2563eb1a;transform:translateY(-2px)}.project-card__header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.project-card__name{font-size:15px;font-weight:600;color:#0f172a;line-height:1.4;word-break:break-word;padding-right:60px}.project-card__delete{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:14px;padding:2px 4px;border-radius:4px;line-height:1;transition:color .15s;flex-shrink:0}.project-card__delete:hover{color:#ef4444}.project-card__footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:0;padding-top:10px;border-top:1px solid #f1f5f9}.project-card__date{font-size:12px;color:#94a3b8;margin-left:auto}.modal-form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.modal-form-row label{font-size:13px;font-weight:500;color:#374151}.modal-form-row input[type=text],.modal-form-row input[type=date],.modal-form-row textarea,.modal-form-row select{padding:9px 12px;border-radius:8px;border:1px solid #cbd5e1;font-size:14px;color:#0f172a;background:#fff;outline:none;transition:border-color .15s;font-family:inherit}.modal-form-row input:focus,.modal-form-row textarea:focus,.modal-form-row select:focus{border-color:#2563eb}.modal-form-row textarea{resize:vertical;min-height:72px}.modal-form-row .field-hint{font-size:11px;color:#94a3b8}.required-star{color:#ef4444;margin-left:2px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.modal-content--wide{max-width:520px}.project-info-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-bottom:4px}.project-info-field{display:flex;flex-direction:column;gap:6px}.project-info-field label{font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.project-info-field input[type=text],.project-info-field select,.project-info-field textarea{padding:8px 10px;border-radius:8px;border:1px solid #e2e8f0;font-size:14px;color:#0f172a;background:#fff;font-family:inherit;outline:none;transition:border-color .15s}.project-info-field input:focus,.project-info-field select:focus,.project-info-field textarea:focus{border-color:#2563eb}.project-info-field textarea{resize:vertical;min-height:64px}.project-info-field .field-hint{font-size:11px;color:#94a3b8}.save-bar{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}.save-bar .save-success{font-size:13px;color:#166534}.sort-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.sort-btn{padding:6px 14px;border-radius:20px;border:1px solid #e2e8f0;background:#fff;font-size:13px;color:#475569;cursor:pointer;transition:all .15s}.sort-btn:hover{border-color:#2563eb;color:#2563eb}.sort-btn--active{background:#2563eb;border-color:#2563eb;color:#fff}.help-page{display:flex;flex-direction:column;gap:18px}.help-faq{display:grid;gap:14px}.help-faq-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a14;padding:0;overflow:hidden}.help-faq-item--open{border-color:#bfdbfe;box-shadow:0 2px 8px #2563eb14}.help-faq-trigger{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;margin:0;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:background-color .15s ease}.help-faq-trigger:hover{background:#f8fafc}.help-faq-item--open .help-faq-trigger{background:#f8fafc;border-bottom:1px solid #e2e8f0}.help-faq-question{margin:0;flex:1;min-width:0;font-size:19px;font-weight:700;line-height:1.35;color:#0f172a}.help-faq-chevron{display:block;flex-shrink:0;margin-top:2px;color:#64748b;transition:transform .2s ease}.help-faq-chevron--open{transform:rotate(180deg)}.help-faq-panel{padding:16px 20px 18px}.help-faq-answer{margin:0;color:#475569;font-size:16px;line-height:1.65}.help-faq-answer p{margin:0 0 12px}.help-faq-answer p:last-child{margin-bottom:0}.help-faq-answer ul{margin:0 0 12px;padding-left:1.35em}.help-faq-answer ul li{margin-bottom:8px}.help-faq-answer ul li:last-child{margin-bottom:0}.help-faq-answer strong+ul,.help-faq-answer p:has(strong)+ul{margin-top:4px}.help-status-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:6px;font-weight:600;font-size:13px;line-height:1;border:1px solid transparent;vertical-align:baseline;margin:0 2px}.help-status-chip--done{background:#dcfce7;color:#166534;border-color:#166534}.help-status-chip--not-done{background:#fee2e2;color:#b91c1c;border-color:#b91c1c}.help-status-chip--progress{background:#ffedd5;color:#c2410c;border-color:#c2410c}.help-status-chip--checked{background:#7c3aed;color:#fff;border-color:#7c3aed}.help-status-chip--unchecked{background:#fff;color:#7c3aed;border-color:#7c3aed}.help-ui-element-chip{display:inline-flex;align-items:center;justify-content:center;padding:0 7px;border-radius:999px;font-size:12px;font-weight:600;color:#1d4ed8;background:#e0edff;border:1px solid #bfdbfe;vertical-align:baseline;margin:0 2px}.help-action-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-weight:700;font-size:13px;line-height:1.2;white-space:nowrap;vertical-align:middle;margin:0 2px}.help-action-chip--done{background:#dcfce7;color:#166534;border:1px solid #166534}.help-action-chip--checked{background:#7c3aed;color:#fff;border:1px solid #7c3aed}.help-inline-icon{vertical-align:middle;margin-right:4px}.help-faq-answer .task-units-warning.help-inline-icon,.help-faq-answer .dashboard-chart-help.help-inline-icon{margin-right:4px}.help-faq-answer .dashboard-chart-help__popup{left:calc(100% + 8px);right:auto}.help-report-panel-demo{width:100%;max-width:none;margin:4px 0 16px;box-sizing:border-box}.help-report-panel-demo__table{width:100%;border-collapse:collapse;margin:0}.help-report-panel-demo__table td[colspan]{padding:0;text-align:center}.help-template-color-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:6px;font-weight:700;font-size:13px;line-height:1.2;border:1px solid transparent;vertical-align:middle;margin:0 2px}.help-template-color-chip--yellow{background:#ff0;color:#713f12;border-color:#ca8a04}.help-template-color-chip--red{background:red;color:#fff;border-color:#b91c1c}.help-primary-link-chip{display:inline-flex;align-items:center;justify-content:center;padding:7px 16px;border-radius:8px;font-weight:700;font-size:16px;line-height:1.2;color:#fff;background:#2563eb;vertical-align:middle;margin:0 2px}.help-secondary-button-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:none;padding:8px 10px;font-size:13px;font-weight:600;font-family:inherit;line-height:1.2;background:#e2e8f0;color:#0f172a;vertical-align:middle;margin:0 2px}.help-status-transition-chip{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;margin:0 2px}.help-status-transition-arrow{color:#64748b;font-weight:700;font-size:14px}.help-template-block{margin:0 0 14px;padding:12px 14px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.help-template-title{margin:0 0 10px;font-size:14px;font-weight:700;color:#1e293b}.help-template-table-wrap{overflow-x:auto}.help-template-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}.help-template-table th{padding:8px 10px;border:1px solid #cbd5e1;background:#e2e8f0;color:#0f172a;font-weight:600;text-align:left;vertical-align:top;min-width:120px;line-height:1.4}.search-input-wrap{position:relative;flex:1;min-width:200px;max-width:320px}.search-input-wrap input{width:100%;padding:8px 12px 8px 34px;border-radius:8px;border:1px solid #e2e8f0;font-size:14px;color:#0f172a;background:#fff;outline:none;box-sizing:border-box;transition:border-color .15s}.search-input-wrap input:focus{border-color:#2563eb}.search-input-wrap .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:14px;pointer-events:none}.project-card__edit{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:12px;padding:2px 4px;border-radius:4px;line-height:1;transition:color .15s;flex-shrink:0}.project-card__edit:hover{color:#2563eb}.search-input-wrap{position:relative;display:flex;align-items:center;min-width:280px;max-width:405px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:0 8px 0 10px;gap:6px;transition:border-color .15s,box-shadow .15s}.search-input-wrap:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.search-input-wrap input{flex:1;border:none;background:transparent;padding:8px;font-size:14px;color:#0f172a;outline:none;font-family:inherit}.search-input-wrap input::placeholder{color:#94a3b8}.search-clear-btn{background:none;border:none;padding:0 2px;font-size:11px;color:#94a3b8;cursor:pointer;line-height:1;border-radius:4px;flex-shrink:0;transition:color .15s}.search-clear-btn:hover{color:#ef4444}.status-bar{position:fixed;bottom:0;left:0;right:0;height:32px;background:#f1f5f9;border-top:1px solid #e2e8f0;display:flex;align-items:center;gap:16px;padding:0 32px;font-size:12px;color:#64748b;z-index:100}.status-bar strong{font-weight:600;color:#0f172a}.status-bar__dot{width:3px;height:3px;border-radius:50%;background:#cbd5e1;flex-shrink:0}.order-page,.project-page{padding-bottom:40px}.order-page-status-bar{flex-wrap:wrap;min-height:32px;height:auto;padding-top:6px;padding-bottom:6px;row-gap:4px}.status-history-panel{max-height:min(800px,80vh);overflow-y:auto;margin-top:8px;padding:4px 8px 8px 0;display:flex;flex-direction:column;gap:14px}.status-history-panel::-webkit-scrollbar{width:8px}.status-history-panel::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.status-history-panel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.status-history-panel::-webkit-scrollbar-thumb:hover{background:#94a3b8}.status-history-card{border-radius:10px;border:1px solid #e2e8f0;padding:16px 18px;background:#fff;border-left:4px solid #94a3b8;box-shadow:0 1px 2px #0f172a0f}.status-history-card--done{border-left-color:#16a34a;background:#f0fdf4}.status-history-card--not-done{border-left-color:#dc2626;background:#fef2f2}.status-history-card--progress{border-left-color:#ca8a04;background:#fffbeb}.status-history-card--other{border-left-color:#64748b;background:#f8fafc}.status-history-card--unmatched{border-left-color:#b91c1c;background:#fef2f2}.status-history-card__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin-bottom:14px}.status-history-card__header .status-history-transition{flex:1 1 auto;min-width:min(100%,280px)}.status-history-source-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;background:#e0edff;color:#1d4ed8;border:1px solid #bfdbfe;flex-shrink:0}.status-history-source-badge--auto{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.status-history-card__table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px;background:transparent}.status-history-table{width:100%;border-collapse:collapse;min-width:560px}.status-history-table th,.status-history-table td{border-bottom:1px solid #e2e8f0;padding:9px 10px;text-align:left;vertical-align:top;font-size:13px;line-height:1.4}.status-history-table thead th{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;background:#f8fafc}.status-history-table tbody th{width:150px;font-weight:600;color:#334155;background:#f8fafc}.status-history-table tbody td{background:#fff}.status-history-table:not(.status-history-table--manual){table-layout:fixed}.status-history-table:not(.status-history-table--manual) thead th:nth-child(1),.status-history-table:not(.status-history-table--manual) tbody th{width:150px}.status-history-table:not(.status-history-table--manual) thead th:nth-child(2),.status-history-table:not(.status-history-table--manual) tbody td:nth-child(2),.status-history-table:not(.status-history-table--manual) thead th:nth-child(3),.status-history-table:not(.status-history-table--manual) tbody td:nth-child(3){width:calc((100% - 150px)/2)}.status-history-row--units-warning th,.status-history-row--units-warning td{background:#fffbeb!important}.status-history-table tbody tr:last-child th,.status-history-table tbody tr:last-child td{border-bottom:none}.status-history-table--manual{min-width:420px}.status-history-table--act-only{min-width:420px;table-layout:fixed}.status-history-table--act-only thead th:nth-child(1),.status-history-table--act-only tbody th{width:150px}.status-history-table--act-only thead th:nth-child(2),.status-history-table--act-only tbody td:nth-child(2){width:calc(100% - 150px)}.status-history-transition{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:0;border-radius:8px}.status-history-unmatched-badge{display:inline-flex;align-items:center;padding:0 7px;border-radius:8px;font-size:13px;font-weight:700;color:#fff;background:#dc2626;border:1px solid #b91c1c}.status-history-card__timestamp{font-size:12px;font-weight:500;color:#64748b;font-variant-numeric:tabular-nums}.status-history-arrow{color:#94a3b8;font-size:14px;font-weight:700}.status-history-dl{margin:0;display:grid;gap:10px 16px}@media(min-width:640px){.status-history-dl{grid-template-columns:repeat(2,minmax(0,1fr))}}.status-history-dl>div{display:grid;gap:4px;min-width:0}.status-history-dl dt{margin:0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.status-history-dl dd{margin:0;font-size:14px;color:#0f172a;line-height:1.45;word-break:break-word}.status-history-card__change{margin-top:16px;padding-top:14px;border-top:1px solid #e2e8f0}.status-history-card__meta{margin-top:12px}.status-history-decision-block{margin-top:12px;padding:10px 12px;border-radius:8px;border:1px solid #dbeafe;background:#eff6ff;display:grid;gap:6px}.status-history-decision-block p{margin:0;font-size:13px;color:#1e3a8a}.status-history-card__change-label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin-bottom:10px}.status-history-apply-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.status-history-apply-trailing{display:inline-flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-left:auto}.status-history-apply-select.form-control{flex:1 1 180px;min-width:160px;max-width:160px;min-height:40px}@media(max-width:720px){.status-history-apply-trailing{margin-left:0;width:100%;justify-content:flex-end}.status-history-table{min-width:100%}.status-history-table tbody th{width:150px}}
