:root{--color-bg: #f6f7f9;--color-surface: #ffffff;--color-primary: #1a56db;--color-primary-hover: #1648b8;--color-text: #1f2430;--color-muted: #6b7280;--color-danger: #dc2626;--color-border: #d1d5db;--color-success-bg: #ecfdf5;--color-success-text: #047857;--color-warning-bg: #fef3c7;--color-warning-text: #92400e;--color-neutral-bg: #f3f4f6;--color-neutral-text: #4b5563;--radius: 8px;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.header__inner{max-width:960px;margin:0 auto;padding:var(--space-2) var(--space-3);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.brand{font-weight:700;font-size:1.1rem;color:var(--color-text);text-decoration:none}.nav{display:flex;gap:var(--space-3);flex-wrap:wrap}.nav a,.brand,a{color:var(--color-primary);text-decoration:none}.nav a.active{font-weight:600;text-decoration:underline}.header__user{margin-left:auto;display:flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:.9rem}.page{max-width:960px;margin:0 auto;padding:var(--space-4) var(--space-3)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.page-note{color:var(--color-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3)}.btn-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}.btn{display:inline-block;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;text-decoration:none}.btn:hover{border-color:var(--color-muted)}.btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}button{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}button:hover:not(:disabled){border-color:var(--color-muted)}.form{display:flex;flex-direction:column;gap:var(--space-3);max-width:560px}.form label{display:flex;flex-direction:column;gap:var(--space-1)}.form-check{flex-direction:row!important;align-items:center;gap:var(--space-2)!important}.form--inline{flex-direction:row;align-items:flex-end;flex-wrap:wrap}input,select,textarea{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;background:var(--color-surface);color:var(--color-text)}textarea{resize:vertical}[role=alert]{color:var(--color-danger);margin:var(--space-2) 0 0}.form-progress{color:var(--color-muted)}.filter-bar{display:flex;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-3) 0}.filter-bar label{display:flex;flex-direction:column;gap:var(--space-1);font-size:.9rem;color:var(--color-muted)}.cards-grid{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.request-card{color:inherit;display:block}.request-card:hover{border-color:var(--color-primary)}.request-card__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.request-card__top h3{margin:0}.request-card__meta{margin:var(--space-1) 0 0}.request-card__date{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:.9rem}.pagination{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);color:var(--color-muted)}.badge{display:inline-block;padding:2px var(--space-2);border-radius:999px;font-size:.85rem;white-space:nowrap}.badge--published{background:var(--color-success-bg);color:var(--color-success-text)}.badge--on_moderation{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge--withdrawn,.badge--draft{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.badge--quote_selected{background:var(--color-info-bg, var(--color-success-bg));color:var(--color-info-text, var(--color-success-text))}.badge--invoice_issued{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge--closed,.badge--delivered,.badge--cancelled{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.badge--advance_received,.badge--in_work,.badge--ready,.badge--final_paid,.badge--handed_to_tc,.badge--delivering{background:var(--color-success-bg);color:var(--color-success-text)}.badge--blocked,.badge--overdue{background:#fee2e2;color:var(--color-danger)}.history-timeline{list-style:none;padding:0;margin:0}.history-timeline li{padding:var(--space-1) 0;border-bottom:1px dashed var(--color-border)}.history-timeline li:last-child{border-bottom:none}.history-timeline__date{color:var(--color-muted);font-size:.9rem;margin-right:var(--space-2);white-space:nowrap}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.money--total{font-weight:600}.invoice-breakdown{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-3);margin:var(--space-2) 0;align-items:baseline}.invoice-breakdown dt{color:var(--color-muted)}.invoice-breakdown dd{margin:0;text-align:right}.quote-card{border:1px solid var(--color-neutral-bg, #ddd);border-radius:8px;padding:var(--space-3);margin:var(--space-2) 0}.quote-card__head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap}.request-field{margin:var(--space-1) 0}.request-description{white-space:pre-wrap}.file-list{display:flex;flex-direction:column;gap:var(--space-1)}.file-list__row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.file-list__name{flex:1;min-width:200px}.file-list__size{color:var(--color-muted);font-size:.9rem}.picked-files{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0 0 0 0);overflow:hidden}.message-thread{display:flex;flex-direction:column;gap:var(--space-2)}.message-thread__item{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);background:var(--color-surface)}.message-thread__item--own{background:var(--color-success-bg);border-color:var(--color-success-text)}.message-thread__head{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.message-thread__role{font-size:.85rem;color:var(--color-muted)}.message-thread__time{font-size:.85rem;color:var(--color-muted);margin-left:auto}.message-thread__body{margin:var(--space-1) 0 0;white-space:pre-wrap}.message-thread__form textarea{width:100%}.picked-files li{display:flex;align-items:center;gap:var(--space-2)}.moderation-row{display:flex;flex-direction:column;gap:var(--space-1)}.table{width:100%;border-collapse:collapse;margin-top:var(--space-3);background:var(--color-surface)}.table th,.table td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-border)}.table th{color:var(--color-muted);font-size:.9rem}.landing-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-3) 0}@media (max-width: 520px){.header__inner{flex-direction:column;align-items:stretch}.header__user{margin-left:0;justify-content:space-between}.nav{flex-direction:column;gap:var(--space-1)}.filter-bar{flex-direction:column}.form--inline{flex-direction:column;align-items:stretch}.btn-row{width:100%}.btn,button{width:auto}.file-list__name{min-width:0}.page-head{flex-direction:column;align-items:flex-start}}
