*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;color:#111827;background:#f9fafb}.page,.public-page{max-width:640px;margin:0 auto;padding:16px;min-height:100vh}.page--narrow{max-width:420px}.page-header,.public-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.app-name{font-weight:600;color:#6b7280}.back-link{color:#2563eb;text-decoration:none}h1{font-size:24px;margin:16px 0 8px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.field>span{font-size:14px;color:#374151;font-weight:500}.field input,.field textarea,.field select{padding:12px;border:1px solid #d1d5db;border-radius:4px;font-size:16px;background:#fff}.field-error{color:#dc2626;font-size:14px}.form-error-summary{margin:0 0 16px;padding:12px 16px;border-radius:4px;border:1px solid #dc2626;background:#fef2f2;color:#991b1b}.form-error-summary strong{display:block;margin-bottom:6px}.form-error-summary ul{margin:0;padding-left:20px}.button{display:inline-block;padding:12px 16px;border-radius:4px;border:1px solid transparent;font-size:16px;cursor:pointer;text-decoration:none;text-align:center;min-height:48px}.button:disabled{opacity:.5;cursor:not-allowed}.button--primary{background:#1a56db;color:#fff}.button--ghost{background:#fff;color:#1f2937;border-color:#d1d5db}.button--danger{background:#fff;color:#b91c1c;border-color:#fca5a5}.button--block{display:block;width:100%;margin-bottom:16px}.empty-state{text-align:center;padding:32px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#6b7280}.error{color:#dc2626}.underlag-list{list-style:none;padding:0;margin:16px 0}.underlag-row{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;margin-bottom:8px;text-decoration:none;color:inherit}.status-chip{font-size:12px;padding:2px 8px;border-radius:12px;background:#e5e7eb;color:#1f2937;align-self:start}.status-chip--draft{background:#fef3c7;color:#78350f}.status-chip--sent{background:#dbeafe;color:#1e40af}.status-chip--viewed{background:#c7d2fe;color:#3730a3}.status-chip--approved{background:#d1fae5;color:#065f46}.status-chip--rejected,.status-chip--cancelled{background:#fee2e2;color:#991b1b}.status-chip--question{background:#fef3c7;color:#92400e}.detail-header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.detail-section{background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:16px;margin-bottom:16px}.detail-section dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0}.detail-section dt{color:#6b7280}.detail-section dd{margin:0}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.public-content{padding:16px 0}.approval-details{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:16px}.approval-details dt{color:#6b7280}.approval-details dd{margin:0}.approval-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.public-url{font-family:ui-monospace,SF Mono,monospace;font-size:13px;word-break:break-all;background:#f3f4f6;padding:8px;border-radius:4px}.company-name{font-size:14px;color:#6b7280;margin-top:-4px}.customer-name{font-weight:500}.project-name,.record-title,.record-price,.record-date{font-size:14px;color:#4b5563;grid-column:2}.record-title{font-weight:500;color:#111827}
