:root{--color-bg: #f4f5f7;--color-surface: #ffffff;--color-border: #e2e4e9;--color-text: #1f2430;--color-text-muted: #6b7280;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-contrast: #ffffff;--color-success: #16a34a;--color-success-bg: #ecfdf3;--color-warning: #b45309;--color-warning-bg: #fffbeb;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--radius-sm: 6px;--radius-md: 10px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 2px 8px rgba(16, 24, 40, .08);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.45}.app-shell{max-width:960px;margin:0 auto;padding:var(--space-6) var(--space-4) 4rem}.app-header{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.app-header h1{font-size:clamp(1.25rem,4vw,1.6rem);font-weight:700;letter-spacing:-.01em;margin:0}.user-chip{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;color:var(--color-text-muted);font-size:.9rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-4) var(--space-6);margin-bottom:var(--space-6)}.card h2{margin:0 0 var(--space-4);font-size:1.05rem;font-weight:700;letter-spacing:-.005em}.row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.stack{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{display:flex;flex-direction:column;gap:var(--space-1);font-size:.85rem;color:var(--color-text-muted)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date]{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.4rem .6rem;font-size:.9rem;background:var(--color-surface);color:var(--color-text)}input:focus{outline:2px solid var(--color-primary);outline-offset:1px}button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);padding:.45rem .8rem;font-size:.85rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-primary-contrast)}.btn-icon{width:1.9rem;height:1.9rem;padding:0;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border-color:transparent;background:transparent}.btn-icon:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-border)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-pending{background:#eef2ff;color:var(--color-primary)}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm)}table.data-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:640px}table.data-table th{text-align:left;background:#fafafa;color:var(--color-text-muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em;padding:.6rem .7rem;border-bottom:1px solid var(--color-border)}table.data-table td{padding:.55rem .7rem;border-bottom:1px solid #f0f0f2}table.data-table tbody tr:hover{background:#fafbff}table.data-table input{width:100%}.draft-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);background:var(--color-surface);box-shadow:var(--shadow-sm)}.draft-header{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.preview-box{background:#f8fafc;border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin:var(--space-3) 0}.preview-box table.data-table{min-width:420px}.section-label{display:block;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700;color:var(--color-text-muted);margin-bottom:var(--space-2)}.text-muted{color:var(--color-text-muted)}.empty-state{text-align:center;color:var(--color-text-muted);padding:var(--space-6) var(--space-4);font-size:.95rem}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.new-line-form{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-border)}.login-shell{max-width:340px;margin:4.5rem auto;padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.login-shell h1{font-size:1.4rem;margin-top:0}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);align-items:end;width:100%}.field-label input,.field-label select{width:100%}code{background:#eef2ff;color:var(--color-primary);padding:.15rem .45rem;border-radius:4px;font-size:.82rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}details>summary{cursor:pointer;font-weight:600;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"▸ ";color:var(--color-text-muted)}details[open]>summary:before{content:"▾ "}select{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.4rem .6rem;font-size:.9rem;background:var(--color-surface);color:var(--color-text)}
