:root{--color-primary: #0f766e;--color-primary-dark: #0d5c56;--color-primary-light: #e6f4f3;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-text: #1f2937;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--color-error: #dc2626;--color-error-bg: #fee2e2;--color-warning: #d97706;--color-warning-bg: #fef3c7;--color-success: #16a34a;--color-success-bg: #dcfce7;--color-info: #2563eb;--color-info-bg: #dbeafe;--color-draft: #d97706;--color-draft-bg: #fffbeb;--color-final: #0f766e;--color-final-bg: #f0fdfa;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08);--transition: .2s ease;font-family:Inter,Noto Sans SC,system-ui,-apple-system,sans-serif;line-height:1.5;color:var(--color-text);background-color:var(--color-bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}button{cursor:pointer;border:none;border-radius:var(--radius);padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;transition:background-color var(--transition),opacity var(--transition),transform var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}button:disabled{cursor:not-allowed;opacity:.55}button:active:not(:disabled){transform:translateY(1px)}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg)}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-small{padding:.5rem .75rem;font-size:.875rem}.btn-icon{padding:.5rem;background:transparent;border:none;color:var(--color-text-secondary)}.btn-icon:hover:not(:disabled){background-color:var(--color-bg);color:var(--color-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}input,textarea,select{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;outline:none;background:var(--color-surface);color:var(--color-text);width:100%}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}label{font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:.25rem;display:block}.app-layout{display:flex;min-height:100vh}.app-sidebar{width:240px;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:50;transform:translate(-100%);transition:transform var(--transition)}.app-sidebar.open{transform:translate(0)}@media (min-width: 1024px){.app-sidebar{position:sticky;top:0;height:100vh;transform:translate(0)}.mobile-only{display:none!important}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;border-bottom:1px solid var(--color-border)}.sidebar-brand{font-size:1.25rem;font-weight:600;color:var(--color-primary)}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;flex:1;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-sm);color:var(--color-text-secondary);text-decoration:none;font-size:.9375rem;transition:background-color var(--transition),color var(--transition)}.sidebar-link:hover{background-color:var(--color-bg);color:var(--color-text)}.sidebar-link.active{background-color:var(--color-primary-light);color:var(--color-primary);font-weight:500}.app-main{flex:1;display:flex;flex-direction:column;min-width:0}.app-topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;margin:1rem;gap:.75rem;border-radius:var(--radius)}.topbar-spacer{flex:1}.app-content{flex:1;padding:0 1rem 1rem;display:flex;flex-direction:column}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--color-text-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1rem;color:var(--color-text-secondary);gap:.75rem}.empty-state h3{margin:0;color:var(--color-text);font-weight:500}.empty-state p{margin:0;max-width:420px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.login-card{width:100%;max-width:360px;padding:2.5rem;text-align:center}.login-brand{margin-bottom:2rem}.login-icon{color:var(--color-primary);margin-bottom:.75rem}.login-brand h1{margin:0;font-size:1.75rem;font-weight:600}.login-brand p{margin:.25rem 0 0;color:var(--color-text-secondary)}.login-button{width:100%}.page-header{margin-bottom:1rem}.page-header h1{margin:0;font-size:1.5rem;font-weight:600}.page-header p{margin:.25rem 0 0;color:var(--color-text-secondary)}.page-columns{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}@media (min-width: 1024px){.page-columns.two{grid-template-columns:1fr 360px}.page-columns.reverse{grid-template-columns:280px 1fr}}.section-card{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.section-title{margin:0;font-size:1rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.form-row.two{grid-template-columns:1fr 1fr}}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:2.5rem 1.5rem;text-align:center;color:var(--color-text-secondary);background-color:var(--color-surface);transition:border-color var(--transition),background-color var(--transition);cursor:pointer}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--color-primary);background-color:var(--color-primary-light)}.upload-zone-icon{color:var(--color-primary);margin-bottom:.75rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:500}.badge-draft{background-color:var(--color-draft-bg);color:var(--color-draft)}.badge-final{background-color:var(--color-final-bg);color:var(--color-final)}.badge-error{background-color:var(--color-error-bg);color:var(--color-error)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning)}.badge-success{background-color:var(--color-success-bg);color:var(--color-success)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.clickable-card{padding:1rem;cursor:pointer;transition:box-shadow var(--transition),transform var(--transition)}.clickable-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.task-progress{display:flex;flex-direction:column;gap:.75rem}.task-progress-bar{height:8px;background-color:var(--color-border);border-radius:9999px;overflow:hidden}.task-progress-fill{height:100%;background-color:var(--color-primary);transition:width var(--transition)}.task-progress-meta{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--color-text-secondary)}.evidence-card{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.evidence-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1rem;background-color:var(--color-bg);cursor:pointer}.evidence-card-body{padding:1rem;border-top:1px solid var(--color-border)}.evidence-card-row{display:flex;gap:.5rem;font-size:.875rem;margin-bottom:.5rem}.evidence-card-label{color:var(--color-text-secondary);min-width:5rem}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.dialog{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.dialog-header{padding:1.25rem;border-bottom:1px solid var(--color-border)}.dialog-header h3{margin:0;font-size:1.125rem}.dialog-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.dialog-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--color-border)}.alert{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border-radius:var(--radius);font-size:.9375rem}.alert-error{background-color:var(--color-error-bg);color:var(--color-error)}.alert-warning{background-color:var(--color-warning-bg);color:var(--color-warning)}.alert-info{background-color:var(--color-info-bg);color:var(--color-info)}.alert-success{background-color:var(--color-success-bg);color:var(--color-success)}.preview-box{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;min-height:120px;white-space:pre-wrap;overflow:auto;font-size:.875rem;line-height:1.6}.text-muted{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.border-warning{border-color:var(--color-warning)}.text-small{font-size:.875rem}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-1{margin-bottom:.5rem}.w-full{width:100%}.text-right{text-align:right}.tab-bar{display:flex;gap:.25rem;overflow-x:auto}.tab{display:inline-flex;align-items:center;gap:.4rem;padding:.625rem 1rem;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);white-space:nowrap}.tab:hover{background-color:var(--color-bg)}.tab.active{background-color:var(--color-primary-light);color:var(--color-primary);font-weight:500}.table-responsive{overflow-x:auto;width:100%}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{font-weight:600;color:var(--color-text-secondary);background-color:var(--color-bg)}.data-table tr:last-child td{border-bottom:none}@media (max-width: 767px){.hide-mobile{display:none}}
