:root{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color:#0f172a;background-color:#eef1f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--page-bg: #eef1f7}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--page-bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.dashboard{min-height:100vh;background:linear-gradient(165deg,#eef5ff,#e2edff 45%,#f5f7fb);padding:32px 24px 48px;color:#0f172a}.dashboard-layout{max-width:1320px;margin:0 auto;display:grid;gap:24px}.dashboard-card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 50px -28px #2563eb59;border:1px solid rgba(208,223,255,.9)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:24px}.dashboard-subtitle{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-weight:600}.dashboard-title{margin:6px 0 0;font-size:28px;font-weight:700;color:#123872}.dashboard-user{display:flex;align-items:center;gap:16px}.dashboard-user-details{display:flex;flex-direction:column;align-items:flex-end;line-height:1.35}.dashboard-user-name{font-weight:700;color:#0f172a}.dashboard-user-email{font-size:13px;color:#94a3b8}.dashboard-logout{background:#ef4444;color:#fff;border:none;border-radius:12px;padding:10px 18px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.dashboard-logout:hover{transform:translateY(-1px);box-shadow:0 12px 24px -10px #ef4444a6}.dashboard-controls-card{display:flex;flex-direction:column;gap:24px}.dashboard-chip-group{display:flex;flex-direction:column;gap:12px}.dashboard-chip-heading{display:flex;flex-direction:column;gap:4px}.dashboard-chip-label{font-weight:600;font-size:14px;color:#0f172a}.dashboard-chip-caption{font-size:12px;color:#94a3b8;font-weight:500}.dashboard-chip-row{display:flex;flex-wrap:wrap;gap:12px}.dashboard-chip{display:inline-flex;align-items:center;gap:10px;border-radius:999px;border:1px solid rgba(34,197,94,.35);background:#d9f7d9;color:#14532d;font-weight:600;font-size:13px;padding:8px 14px;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease,border-color .2s ease}.dashboard-chip:hover:not(.dashboard-chip--disabled){background:#c9f1c9;border-color:#16a34a8c;box-shadow:0 10px 20px -16px #16a34a66}.dashboard-chip--active{background:#1f7a4d;border-color:#166534;color:#fff;box-shadow:0 18px 32px -18px #16a34a8c}.dashboard-chip--completed{background:#d4d4d8;border-color:#a1a1aa;color:#3f3f46}.dashboard-chip--completed.dashboard-chip--active{background:#71717a;border-color:#52525b;color:#fff;box-shadow:0 18px 36px -20px #52525b8c}.dashboard-chip--form{font-size:12px;padding:8px 16px}.dashboard-chip--asset{font-size:12px;padding:7px 12px}.dashboard-chip--disabled{cursor:not-allowed;background:#f1f5f9e6;color:#cbd5f5;border-color:#94a3b859;box-shadow:none}.dashboard-chip--disabled:hover{background:#f1f5f9e6;border-color:#94a3b859;box-shadow:none}.dashboard-chip-step-index{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#22c55e33;color:#166534;font-size:11px;font-weight:700}.dashboard-chip--completed .dashboard-chip-step-index{background:#6b728040;color:#374151}.dashboard-chip--completed.dashboard-chip--active .dashboard-chip-step-index{background:#ffffff38;color:#fff}.dashboard-chip--disabled .dashboard-chip-step-index{background:#94a3b838;color:#94a3b8e6}.dashboard-chip-text{white-space:nowrap}.dashboard-chip-row--forms{gap:10px}.dashboard-site-completion{padding-top:8px}.dashboard-site-completion-action{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px}.dashboard-site-completion-hint{font-size:12px;color:#64748b}.dashboard-site-completion-button{border:none;border-radius:14px;padding:12px 22px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;background:linear-gradient(135deg,#059669,#047857);color:#fff;box-shadow:0 18px 32px -18px #05966999}.dashboard-site-completion-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 20px 36px -18px #059669b3}.dashboard-site-completion-button:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.dashboard-site-completion-button--completed{background:#d4d4d8;color:#3f3f46;box-shadow:none;border:1px solid #a1a1aa;cursor:not-allowed}.dashboard-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.dashboard-control-group{display:flex;flex-direction:column;gap:10px}.dashboard-time-control{display:flex;align-items:center;gap:12px}.dashboard-control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.dashboard-label{font-weight:600;font-size:14px;color:#0f172a;display:flex;flex-direction:column;gap:6px}.dashboard-label-caption{font-size:12px;color:#94a3b8;font-weight:500}.dashboard-input,.dashboard-select,.dashboard-textarea{width:100%;border-radius:14px;border:1px solid rgba(148,163,184,.45);padding:12px 16px;font-size:15px;color:#0f172a;background:#f8fafccc;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.dashboard-input:focus,.dashboard-select:focus,.dashboard-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;background:#fff}.dashboard-textarea{resize:vertical;min-height:120px}.dashboard-input--calculated{background:#e2e8f073;border-style:dashed;color:#1e293b;cursor:default}.dashboard-input--calculated:focus{border-color:#94a3b8bf;box-shadow:none}.dashboard-field-hint{font-size:12px;color:#94a3b8;font-weight:500}.dashboard-grid,.dashboard-form{display:flex;flex-direction:column;gap:24px}.dashboard-form-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.dashboard-form-title{margin:0 0 10px;font-size:24px;font-weight:700}.dashboard-form-description{margin:0;color:#64748b;font-size:15px}.dashboard-auto-calc{background:#4f46e514;border-radius:12px;padding:12px 16px;color:#4338ca;border:1px solid rgba(79,70,229,.2);min-width:220px}.dashboard-auto-calc-title{margin:0 0 6px;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.dashboard-auto-calc ul{margin:0;padding-left:18px;font-size:13px;line-height:1.5}.dashboard-fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.dashboard-fieldset+.dashboard-fieldset{border-top:1px solid rgba(226,232,240,.8);padding-top:24px}.dashboard-fieldset legend{font-weight:700;color:#1e293b;font-size:14px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:12px}.dashboard-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 20px}.dashboard-field{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#0f172a}.dashboard-field-label{display:flex;align-items:baseline;justify-content:space-between;font-weight:600;color:#1e293b}.dashboard-field-unit{font-size:12px;font-weight:500;color:#94a3b8;margin-left:12px}.dashboard-actions{display:flex;justify-content:flex-end;gap:12px}.dashboard-primary-button,.dashboard-secondary-button{border:none;border-radius:14px;padding:12px 22px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.dashboard-primary-button{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 18px 32px -18px #2563ebb3}.dashboard-primary-button:hover{transform:translateY(-1px);box-shadow:0 20px 38px -18px #2563ebcc}.dashboard-secondary-button{background:#e2e8f099;color:#475569}.dashboard-secondary-button:hover{background:#e2e8f0e6}.dashboard-primary-button:disabled,.dashboard-secondary-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.dashboard-feedback{border-radius:12px;padding:14px 16px;font-size:14px;font-weight:600}.dashboard-feedback--success{background:#16a34a1f;color:#166534;border:1px solid rgba(34,197,94,.35)}.dashboard-feedback--error{background:#ef44441f;color:#b91c1c;border:1px solid rgba(248,113,113,.4)}.dashboard-history{display:flex;flex-direction:column;gap:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100%}.dashboard-history-header{display:flex;flex-direction:column;gap:8px}.dashboard-history-sort{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#475569}.dashboard-history-sort span{font-weight:600;color:#0f172a}.dashboard-history-sort .dashboard-select{min-width:0;width:220px;padding:10px 14px;font-size:14px}.dashboard-history-actions{display:flex;justify-content:center;margin:12px 0 0}.dashboard-download-button{min-width:160px}.dashboard-history h3{margin:0;font-size:18px;font-weight:700;color:#0f172a}.dashboard-history-caption{margin:6px 0 0;font-size:13px;color:#94a3b8}.dashboard-empty{background:#f1f5f9b3;border-radius:14px;padding:24px;text-align:center;color:#475569;border:1px dashed rgba(148,163,184,.4)}.dashboard-empty p{margin:0 0 6px}.dashboard-empty-caption{margin:0;font-size:12px;color:#94a3b8}.dashboard-table-wrapper{width:100%;overflow-x:auto;overflow-y:auto;max-height:420px;border-radius:16px;border:1px solid rgba(148,163,184,.18)}.dashboard-table{width:100%;border-collapse:collapse;font-size:13px;min-width:580px}.dashboard-table th,.dashboard-table td{padding:12px 14px;text-align:left}.dashboard-table thead{background:linear-gradient(135deg,#3b82f624,#2563eb1f);color:#0f172a;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.dashboard-table tbody tr:nth-child(every 2){background:#f8fafc99}.dashboard-table tbody tr:hover{background:#3b82f614}.dashboard-table td{border-top:1px solid rgba(226,232,240,.6);color:#334155}.dashboard-chart-card{display:flex;flex-direction:column;gap:18px}.dashboard-report-card{display:flex;flex-direction:column;gap:20px}.dashboard-report-header h3{margin:0;font-size:20px;font-weight:700;color:#0f172a}.dashboard-report-caption{margin:4px 0 0;font-size:14px;color:#64748b}.dashboard-report-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.dashboard-report-button{min-width:150px;align-self:flex-start}.dashboard-report-actions{display:flex;justify-content:flex-start}.dashboard-report-body{display:flex;flex-direction:column;gap:12px}.dashboard-report-summary{margin:0;font-size:14px;color:#475569}.dashboard-report-step-list{display:flex;flex-wrap:wrap;gap:10px}.dashboard-report-step{padding:6px 12px;border-radius:999px;background:#e2e8f099;color:#1f2937;font-size:13px;font-weight:600}.dashboard-chart-header h3{margin:0;font-size:22px;font-weight:700}.dashboard-chart-caption{margin:4px 0 0;color:#64748b;font-size:14px}.dashboard-chart-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.dashboard-chart-wrapper{width:100%;overflow-x:auto}.dashboard-chart-empty{padding:32px;text-align:center;border:1px dashed rgba(148,163,184,.5);border-radius:16px;color:#475569;background:#f8fafccc}.dashboard-chart-empty--error{color:#b91c1c;border-color:#f8717199;background:#fee2e2b3}.dashboard-chart-figure{min-width:640px;padding-bottom:8px}.dashboard-chart-title{margin:0 0 12px;font-size:18px;font-weight:700;text-align:center}.dashboard-chart-svg{width:100%;height:320px}.dashboard-chart-axis{stroke:#0f172a73;stroke-width:1}.dashboard-chart-grid{stroke:#94a3b859;stroke-dasharray:4 4;stroke-width:1}.dashboard-chart-path{stroke:#2563eb;stroke-width:3}.dashboard-chart-point{fill:#2563eb;stroke:#fff;stroke-width:2}.dashboard-chart-axis-label{font-size:12px;fill:#475569}.dashboard-chart-axis-label--x{font-size:11px;fill:#475569}.dashboard-chart-y-label{font-size:12px;fill:#334155;font-weight:600;text-anchor:middle}.dashboard-table-edit-header{text-align:center;width:90px}.dashboard-table-edit-cell{text-align:center}.dashboard-table-edit{padding:6px 12px;border-radius:999px;border:1px solid rgba(37,99,235,.4);background:#f1f5ff;color:#1e3a8a;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.dashboard-table-edit:hover{background:#2563eb;border-color:#1d4ed8;color:#fff}.dashboard-modal-backdrop{position:fixed;inset:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;padding:32px;z-index:9999}.dashboard-modal{width:min(960px,100%);max-height:90vh;background:#fff;border-radius:24px;box-shadow:0 32px 60px -28px #0f172a59;display:flex;flex-direction:column;overflow:hidden}.dashboard-modal-header{padding:24px;border-bottom:1px solid rgba(148,163,184,.2)}.dashboard-modal-header h3{margin:0 0 8px;font-size:22px;font-weight:700}.dashboard-modal-header p{margin:0;color:#64748b;font-size:14px}.dashboard-modal-body{padding:24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:20px}.dashboard-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.dashboard-modal-fieldset{border:1px solid rgba(148,163,184,.2);border-radius:16px;padding:18px 20px;margin:0}.dashboard-modal-fieldset legend{padding:0 8px;font-weight:700;color:#0f172a}.dashboard-modal-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:12px}.dashboard-modal-field{display:flex;flex-direction:column;gap:8px}.dashboard-modal-readonly{min-height:44px;display:flex;align-items:center;padding:10px 14px;border-radius:14px;background:#f1f5f9cc;border:1px dashed rgba(148,163,184,.45);color:#475569;font-weight:600}.dashboard-modal-error{padding:12px 16px;border-radius:14px;color:#b91c1c;background:#fee2e2b3;border:1px solid rgba(248,113,113,.6)}.dashboard-modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid rgba(148,163,184,.2)}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.dashboard-auto-calc{width:100%}.dashboard-history{order:-1}.dashboard-report-controls{flex-direction:column;align-items:stretch}.dashboard-report-actions{justify-content:stretch}.dashboard-report-button{width:100%}}@media(max-width:768px){.dashboard{padding:24px 16px 36px}.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-user{width:100%;justify-content:space-between}.dashboard-form-title{font-size:20px}}
