:root{--color-text:#111827;--color-bg:#f3f4f6;--color-surface:#fff;--color-primary:#1d4ed8;--color-muted:#6b7280;--color-sidebar:#1e293b;--font-sans:system-ui, -apple-system, sans-serif;--sidebar-width:240px}*,:before,:after{box-sizing:border-box}body{min-height:100vh;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0}#root{min-height:100vh}.admin-shell{min-height:100vh;display:flex}.admin-sidebar{width:var(--sidebar-width);background:var(--color-sidebar);color:#f8fafc;flex-shrink:0;padding:1.5rem 1rem}.admin-sidebar__brand{margin-bottom:2rem;padding:0 .5rem;font-weight:700}.admin-nav{flex-direction:column;gap:.25rem;display:flex}.admin-nav__link{color:#cbd5e1;border-radius:.375rem;padding:.625rem .75rem;display:block}.admin-nav__link:hover{background:#ffffff14;text-decoration:none}.admin-nav__link--active{background:var(--color-primary);color:#fff}.admin-content{flex:1;padding:2rem}.admin-page{background:var(--color-surface);border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #00000014}.btn{font:inherit;cursor:pointer;border:none;border-radius:.375rem;padding:.5rem 1rem}.btn--primary{background:var(--color-primary);color:#fff}.btn--danger{color:#fff;background:#dc2626}.btn--ghost{color:var(--color-primary);background:0 0}.page-title{margin:0 0 .5rem;font-size:1.5rem}.page-lead{color:var(--color-muted);margin:0}.admin-stub{text-align:center;background:#f9fafb;border:1px dashed #d1d5db;border-radius:.5rem;margin-top:1.5rem;padding:2rem}.admin-stub__badge{color:#3730a3;text-transform:uppercase;letter-spacing:.04em;background:#e0e7ff;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.admin-stub__text{color:var(--color-muted);margin:1rem 0 0}.auth-page{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{background:var(--color-surface);border-radius:.5rem;width:100%;max-width:400px;padding:2rem;box-shadow:0 1px 3px #0000001a}.auth-page__loading{min-height:100vh;color:var(--color-muted);place-items:center;display:grid}.auth-form{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.auth-form__field{flex-direction:column;gap:.375rem;display:flex}.auth-form__label{color:var(--color-muted);font-size:.875rem}.auth-form__input{font:inherit;border:1px solid #d1d5db;border-radius:.375rem;padding:.625rem .75rem}.auth-form__input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.auth-form__error{color:#b91c1c;background:#fef2f2;border-radius:.375rem;padding:.75rem;font-size:.875rem}.auth-form__submit{width:100%;margin-top:.25rem}.admin-sidebar__user{border-bottom:1px solid #ffffff1a;margin-bottom:1.5rem;padding:0 .5rem 1rem}.admin-sidebar__user-email{word-break:break-all;font-size:.875rem}.admin-sidebar__user-role{color:#94a3b8;margin-top:.25rem;font-size:.75rem}.admin-sidebar{flex-direction:column;display:flex}.admin-sidebar__footer{margin-top:auto;padding-top:1.5rem}.admin-sidebar__logout{width:100%;color:#cbd5e1!important}.admin-sidebar__logout:hover{background:#ffffff14}.admin-breadcrumbs{color:var(--color-muted);flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;font-size:.875rem;display:flex}.admin-breadcrumbs__sep{margin:0 .375rem}.admin-breadcrumbs__link{color:var(--color-primary);text-decoration:none}.admin-breadcrumbs__link:hover{text-decoration:underline}.admin-breadcrumbs__current{color:var(--color-text)}.page-section-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.page-section-card{color:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.page-section-card:hover{border-color:var(--color-primary);text-decoration:none;box-shadow:0 4px 12px #1d4ed814}.page-section-card__title{margin:0 0 .5rem;font-size:1.125rem}.page-section-card__description{color:var(--color-muted);margin:0;font-size:.9375rem}.page-section-card__meta{color:var(--color-primary);margin-top:1rem;font-size:.8125rem;display:inline-block}.admin-list-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin:1.5rem 0 1rem;display:flex}.admin-list-toolbar__create{white-space:nowrap;text-decoration:none}.admin-link-back{color:var(--color-primary);font-size:.875rem;text-decoration:none}.admin-link-back:hover{text-decoration:underline}.admin-list__status{color:var(--color-muted)}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.75rem}.admin-table th{color:var(--color-muted);font-size:.8125rem;font-weight:600}.admin-table__actions{white-space:nowrap;width:1%}.admin-table__link{color:var(--color-primary);font-size:.875rem;text-decoration:none}.admin-table__link:hover{text-decoration:underline}.admin-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.admin-pagination__info{color:var(--color-muted);font-size:.875rem}.admin-form{flex-direction:column;gap:1rem;max-width:720px;margin-top:1.5rem;display:flex}.admin-form__field{flex-direction:column;gap:.375rem;display:flex}.admin-form__field-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-form__label{font-size:.875rem;font-weight:600}.admin-form__hint{color:var(--color-muted);font-size:.8125rem}.admin-form__error{color:#b91c1c;font-size:.8125rem}.admin-form__input,.admin-form__textarea{font:inherit;border:1px solid #d1d5db;border-radius:.375rem;padding:.625rem .75rem}.admin-form__textarea{resize:vertical;min-height:120px}.admin-form__input:focus,.admin-form__textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.admin-form__select-row{align-items:center;gap:.5rem;display:flex}.admin-form__select-row .admin-form__input{flex:1;min-width:0}.admin-form__select-create{white-space:nowrap;flex-shrink:0;text-decoration:none}.admin-form__row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.admin-form__actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.admin-form__actions .btn--ghost{align-items:center;text-decoration:none;display:inline-flex}.admin-form__alert{border-radius:.375rem;padding:.75rem 1rem;font-size:.875rem}.admin-form__alert--error{color:#b91c1c;background:#fef2f2}.image-upload-field{flex-direction:column;gap:.75rem;display:flex}.image-upload-field__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.image-upload-field__input{display:none}.image-upload-field__list{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.image-upload-field__item{aspect-ratio:4/3;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;position:relative;overflow:hidden}.image-upload-field__preview{object-fit:cover;width:100%;height:100%;display:block}.image-upload-field__remove{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:999px;width:1.75rem;height:1.75rem;font-size:1.125rem;line-height:1;position:absolute;top:.375rem;right:.375rem}.image-upload-field__remove:hover{background:#000000bf}.review-filters{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 .75rem;display:flex}.review-filters__btn{color:var(--color-text);font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:.375rem .875rem;transition:border-color .15s,background .15s,color .15s}.review-filters__btn:hover{border-color:var(--color-primary)}.review-filters__btn--active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.review-filters__hint{color:var(--color-muted);margin:0 0 1rem;font-size:.875rem}.review-status{white-space:nowrap;border-radius:999px;padding:.2rem .625rem;font-size:.75rem;font-weight:600;display:inline-block}.review-status--pending{color:#92400e;background:#fef3c7}.review-status--approved{color:#166534;background:#dcfce7}.review-status--rejected{color:#991b1b;background:#fee2e2}.admin-table--reviews .admin-table__text{max-width:360px;color:var(--color-text)}.admin-table__muted{color:var(--color-muted)}.review-actions{flex-wrap:wrap;gap:.5rem;display:flex}.btn--sm{padding:.375rem .75rem;font-size:.8125rem}.btn:disabled{opacity:.55;cursor:not-allowed}.review-date-filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.review-date-filters__field{flex-direction:column;gap:.375rem;display:flex}.review-date-filters__label{color:var(--color-muted);font-size:.8125rem}.review-date-filters__input{font:inherit;border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem .75rem}.review-date-filters__input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.admin-table__row--clickable{cursor:pointer}.admin-table__row--clickable:hover td{background:#f8fafc}.review-modal{z-index:100;background:#0f172a73;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.review-modal__dialog{background:#fff;border-radius:.75rem;width:min(720px,100%);max-height:calc(100vh - 3rem);padding:1.5rem;overflow:auto;box-shadow:0 20px 40px #0f172a33}.review-modal__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.review-modal__title{margin:0;font-size:1.25rem}.review-modal__close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1}.review-modal__actions{border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.review-detail__section+.review-detail__section{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.review-detail__section-title{margin:0 0 1rem;font-size:1rem}.review-detail__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1rem;margin:0;display:grid}.review-detail__field{margin:0}.review-detail__label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .25rem;font-size:.75rem;font-weight:600}.review-detail__value{margin:0;font-size:.9375rem}.review-detail__text-block,.review-detail__images{margin-top:1rem}.review-detail__text{white-space:pre-wrap;margin:.25rem 0 0;line-height:1.5}.review-detail__image-list{margin:.25rem 0 0;padding-left:1.25rem}.review-detail__image-link{color:var(--color-primary);word-break:break-all}.order-filters{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 .75rem;display:flex}.order-filters__btn{color:var(--color-text);font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:.375rem .875rem;transition:border-color .15s,background .15s,color .15s}.order-filters__btn:hover{border-color:var(--color-primary)}.order-filters__btn--active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.order-filters__hint{color:var(--color-muted);margin:0 0 1rem;font-size:.875rem}.order-status{white-space:nowrap;border-radius:999px;padding:.2rem .625rem;font-size:.75rem;font-weight:600;display:inline-block}.order-status--new{color:#1e40af;background:#dbeafe}.order-status--in-progress{color:#92400e;background:#fef3c7}.order-status--completed{color:#166534;background:#dcfce7}.order-status--cancelled{color:#991b1b;background:#fee2e2}.admin-table--orders .admin-table__text{max-width:360px;color:var(--color-text)}.order-actions{flex-wrap:wrap;gap:.5rem;display:flex}.order-date-filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.order-date-filters__field{flex-direction:column;gap:.375rem;display:flex}.order-date-filters__label{color:var(--color-muted);font-size:.8125rem}.order-date-filters__input,.order-date-filters__select{font:inherit;border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem .75rem}.order-date-filters__input:focus,.order-date-filters__select:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.order-modal{z-index:100;background:#0f172a73;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.order-modal__dialog{background:#fff;border-radius:.75rem;width:min(720px,100%);max-height:calc(100vh - 3rem);padding:1.5rem;overflow:auto;box-shadow:0 20px 40px #0f172a33}.order-modal__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.order-modal__title{margin:0;font-size:1.25rem}.order-modal__close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1}.order-modal__actions{border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.order-detail__section+.order-detail__section{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.order-detail__section-title{margin:0 0 1rem;font-size:1rem}.order-detail__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1rem;margin:0;display:grid}.order-detail__field{margin:0}.order-detail__label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .25rem;font-size:.75rem;font-weight:600}.order-detail__value{margin:0;font-size:.9375rem}.order-detail__text-block{margin-top:1rem}.order-detail__text{white-space:pre-wrap;margin:.25rem 0 0;line-height:1.5}.contract-filters{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 .75rem;display:flex}.contract-filters__btn{color:var(--color-text);font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:.375rem .875rem;transition:border-color .15s,background .15s,color .15s}.contract-filters__btn:hover{border-color:var(--color-primary)}.contract-filters__btn--active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.contract-search-filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.contract-search-filters__field{flex-direction:column;gap:.375rem;display:flex}.contract-search-filters__label{color:var(--color-muted);font-size:.8125rem}.contract-search-filters__input{font:inherit;border:1px solid #d1d5db;border-radius:.375rem;min-width:180px;padding:.5rem .75rem}.contract-search-filters__input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.contract-status{white-space:nowrap;border-radius:999px;padding:.2rem .625rem;font-size:.75rem;font-weight:600;display:inline-block}.contract-status--in-progress{color:#92400e;background:#fef3c7}.contract-status--completed{color:#1e40af;background:#dbeafe}.contract-status--cancelled{color:#991b1b;background:#fee2e2}.contract-actions{flex-wrap:wrap;gap:.5rem;display:flex}.contract-modal{z-index:100;background:#0f172a73;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.contract-modal__dialog{background:#fff;border-radius:.75rem;width:min(760px,100%);max-height:calc(100vh - 3rem);padding:1.5rem;overflow:auto;box-shadow:0 20px 40px #0f172a33}.contract-modal__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.contract-modal__title{margin:0;font-size:1.25rem}.contract-modal__close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1}.contract-modal__actions{border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.contract-detail__summary{background:linear-gradient(135deg,#eff6ff 0%,#f0fdf4 100%);border:1px solid #dbeafe;border-radius:.625rem;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;margin-bottom:1.5rem;padding:1.25rem 1.375rem;display:flex}.contract-detail__summary-main{flex-direction:column;align-items:flex-start;gap:.625rem;display:flex}.contract-detail__number{margin:0;font-size:1.375rem;font-weight:700;line-height:1.2}.contract-detail__summary-meta{flex-wrap:wrap;gap:1rem 1.5rem;display:flex}.contract-detail__stat{flex-direction:column;gap:.125rem;display:flex}.contract-detail__stat-value{font-size:.9375rem;font-weight:600;line-height:1.35}.contract-detail__stat-value--price{color:var(--color-primary);font-size:1.125rem}.contract-detail__participants{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.875rem;display:grid}.contract-detail__blocks{flex-direction:column;gap:.875rem;display:flex}.contract-detail__block{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:.875rem 1rem}.contract-detail__block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.contract-detail__block-title{margin:0;font-size:.9375rem;font-weight:600}.contract-detail__block-actions{border-top:1px solid #e5e7eb;margin-top:.75rem;padding-top:.75rem}.contract-detail__text-block{margin-top:.875rem}.contract-detail__text{white-space:pre-wrap;margin:.25rem 0 0;line-height:1.55}.contract-detail__table-wrap{overflow-x:auto}.contract-detail__table{border-collapse:collapse;width:100%;font-size:.9375rem}.contract-detail__table th,.contract-detail__table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.625rem .75rem}.contract-detail__table th{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.contract-detail__table-num{text-align:right;white-space:nowrap}.contract-detail__table-total{font-weight:600}.contract-detail__table tfoot td{border-bottom:none;padding-top:.75rem;font-weight:600}.contract-detail__lines{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.contract-detail__lines li{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;flex-wrap:wrap;align-items:baseline;gap:.375rem .75rem;padding:.625rem .75rem;line-height:1.5;display:flex}.contract-detail__line-name{font-weight:600}.contract-detail__line-meta{color:var(--color-muted);font-size:.875rem}.contract-detail__cargo-summary{color:var(--color-muted);margin:.75rem 0 0;font-size:.875rem}.contract-modal__footer{border-top:1px solid #e5e7eb;flex-direction:column;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.contract-modal__footer-actions{flex-wrap:wrap;gap:.75rem;display:flex}.contract-detail__documents{flex-direction:column;gap:.5rem;display:flex}.contract-detail__documents-title{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.8125rem;font-weight:600}.contract-detail__documents-actions{flex-wrap:wrap;gap:.5rem;display:flex}.contract-detail__section+.contract-detail__section{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.contract-detail__section-title{margin:0 0 1rem;font-size:1rem}.contract-detail__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1rem;margin:0;display:grid}.contract-detail__field{margin:0}.contract-detail__label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .25rem;font-size:.75rem;font-weight:600}.contract-detail__value{margin:0;font-size:.9375rem}.contract-detail__list{margin:0;padding-left:1.25rem;line-height:1.6}.contract-lines{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.contract-lines__row{grid-template-columns:minmax(180px,1fr) 120px auto;align-items:end;gap:.75rem;display:grid}.contract-lines__remove{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:.5rem}.contract-lines__add{align-self:flex-start}.contract-form__section{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.contract-form__section-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.contract-form__section-title{margin:0 0 1rem;font-size:1rem}.contract-form__section-head .contract-form__section-title{margin:0}.contract-form__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.contract-form__hint-block{color:var(--color-muted);margin-top:.5rem;font-size:.875rem}.contract-edit__page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;margin-bottom:1.5rem;display:flex}.contract-edit__form{flex-direction:column;gap:1rem;display:flex}.contract-edit__layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:1.25rem;display:grid}.contract-edit__main{flex-direction:column;gap:1rem;min-width:0;display:flex}.contract-edit__card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem 1.375rem}.contract-edit__card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:1.25rem;display:flex}.contract-edit__card-title{margin:0;font-size:1.0625rem;font-weight:600;line-height:1.3}.contract-edit__card-lead{color:var(--color-muted);max-width:52ch;margin:.375rem 0 0;font-size:.875rem;line-height:1.5}.contract-edit__badge{white-space:nowrap;color:#374151;background:#f3f4f6;border-radius:999px;align-items:center;padding:.2rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.contract-edit__badge--required{color:#1e40af;background:#dbeafe}.contract-edit__badge--muted{color:var(--color-muted);background:#f9fafb}.contract-edit__fields{flex-direction:column;gap:1rem;display:flex}.contract-edit__field--wide{width:100%}.contract-edit__order-info{background:#f8fafc;border:1px solid #dbeafe;border-radius:.5rem;padding:.875rem 1rem}.contract-edit__order-info-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.contract-edit__order-info-message{color:var(--color-muted);margin:.375rem 0 0;font-size:.875rem;line-height:1.5}.contract-form__grid--pair{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-edit__table-wrap{overflow-x:auto}.contract-edit__lines-table{border-collapse:collapse;width:100%;font-size:.9375rem}.contract-edit__lines-table th,.contract-edit__lines-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5e7eb;padding:.625rem .75rem}.contract-edit__lines-table th{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;background:#f9fafb;font-size:.75rem;font-weight:600}.contract-edit__lines-table tbody tr:last-child td{border-bottom:none}.contract-edit__lines-table-num{text-align:right;width:7rem}.contract-edit__lines-table-actions{text-align:center;width:2.75rem;padding-right:.25rem}.contract-edit__amount-input{text-align:right}.contract-edit__line-remove{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.25rem .5rem;font-size:1.25rem;line-height:1}.contract-edit__line-remove:hover:not(:disabled){color:#991b1b;background:#fee2e2}.contract-edit__line-remove:disabled{opacity:.35;cursor:not-allowed}.contract-edit__line-add{margin-top:.75rem}.contract-edit__aside{position:sticky;top:1rem}.contract-edit__summary{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem;box-shadow:0 1px 2px #0f172a0a}.contract-edit__summary-title{margin:0 0 1rem;font-size:1rem;font-weight:600}.contract-edit__summary-list{flex-direction:column;gap:.875rem;margin:0;display:flex}.contract-edit__summary-item{flex-direction:column;gap:.25rem;display:flex}.contract-edit__summary-item dt{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.contract-edit__summary-item dd{margin:0;font-size:.9375rem;font-weight:500}.contract-edit__summary-item--highlight dd,.contract-edit__total-input{color:var(--color-primary);font-size:1.125rem;font-weight:700}.contract-edit__summary-note{color:var(--color-muted);background:#f9fafb;border-radius:.375rem;margin:1rem 0 0;padding:.75rem;font-size:.8125rem;line-height:1.5}.contract-edit__summary-note--warning{color:#92400e;background:#fef3c7}.contract-edit__actions{border-top:1px solid #e5e7eb;flex-direction:column;gap:.625rem;margin-top:1.25rem;padding-top:1.25rem;display:flex}.contract-edit__actions .btn--ghost{text-align:center}@media (width<=960px){.contract-edit__layout{grid-template-columns:1fr}.contract-edit__aside{position:static}.contract-form__grid--pair,.contract-lines__row{grid-template-columns:1fr}}.shipment-status{white-space:nowrap;border-radius:999px;padding:.2rem .625rem;font-size:.75rem;font-weight:600;display:inline-block}.shipment-status--in-progress{color:#92400e;background:#fef3c7}.shipment-status--completed{color:#166534;background:#dcfce7}.shipment-status--cancelled{color:#991b1b;background:#fee2e2}.shipment-picker-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.875rem;display:flex}.shipment-picker-toolbar__search{flex-direction:column;flex:240px;gap:.375rem;max-width:420px;display:flex}.shipment-picker-toolbar__label{color:var(--color-muted);font-size:.8125rem}.shipment-picker-toolbar__input{font:inherit;border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.5rem .75rem}.shipment-picker-toolbar__input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.shipment-picker-toolbar__meta{color:var(--color-muted);margin:0;font-size:.875rem;line-height:1.45}.shipment-checkbox-group{flex-direction:column;gap:.5rem;display:flex}.shipment-checkbox-group__item{cursor:pointer;border:1px solid #e5e7eb;border-radius:.375rem;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;display:flex}.shipment-checkbox-group__item:hover{border-color:var(--color-primary)}.shipment-checkbox-group__item input{margin-top:.2rem}.contract-modal__dialog--wide{width:min(920px,100%)}.shipment-detail__blocks{flex-direction:column;gap:.875rem;display:flex}.shipment-detail__block{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:.875rem 1rem}.shipment-detail__block-title{margin:0 0 .75rem;font-size:.9375rem;font-weight:600}.shipment-detail__subsection{border-top:1px solid #e5e7eb;margin-top:.875rem;padding-top:.875rem}.shipment-detail__subsection-title{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .625rem;font-size:.8125rem;font-weight:600}.shipment-detail__text-block{margin-top:.75rem}.shipment-detail__text{white-space:pre-wrap;margin:.25rem 0 0;line-height:1.5}.shipment-detail__lines{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.shipment-detail__lines li{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:.625rem .75rem;line-height:1.5}.shipment-detail__line-label{color:var(--color-muted);vertical-align:middle;background:#e5e7eb;border-radius:999px;margin-right:.5rem;padding:.1rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.contract-modal__footer{border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.shipment-form__info-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1.25rem;margin-top:1rem;padding:.875rem 1rem;display:grid}.shipment-form__info-row{flex-direction:column;gap:.2rem;display:flex}.shipment-form__info-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.shipment-form__info-value{line-height:1.45}.shipment-form__preview-block+.shipment-form__preview-block{margin-top:1rem}.shipment-form__preview-title{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .625rem;font-size:.8125rem;font-weight:600}.shipment-route-picker{flex-direction:column;gap:.625rem;display:flex}.shipment-route-picker__item{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex}.shipment-route-picker__item:hover{border-color:var(--color-primary)}.shipment-route-picker__item--selected{border-color:var(--color-primary);background:#eff6ff}.shipment-route-picker__checkbox{margin-top:.25rem}.shipment-route-picker__content{flex:1;min-width:0}.shipment-route-picker__head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.375rem;display:flex}.shipment-route-picker__title{font-weight:600}.shipment-route-picker__status{color:var(--color-muted);background:#e5e7eb;border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.shipment-route-picker__meta{color:var(--color-muted);flex-wrap:wrap;gap:.5rem 1rem;font-size:.875rem;line-height:1.45;display:flex}.shipment-route-order{background:#f9fafb;border:1px dashed #d1d5db;border-radius:.5rem;margin-top:1rem;padding:.875rem 1rem}.shipment-route-order__title{margin:0 0 .625rem;font-size:.875rem;font-weight:600}.shipment-route-order__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.shipment-route-order__item{background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .625rem;display:flex}.shipment-route-order__label{line-height:1.45}.shipment-route-order__actions{gap:.25rem;display:flex}.shipment-route-order__btn{width:1.75rem;height:1.75rem;color:var(--color-muted);cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:.25rem}.shipment-route-order__btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.shipment-route-order__btn:disabled{opacity:.4;cursor:not-allowed}.route-status{white-space:nowrap;border-radius:999px;padding:.2rem .625rem;font-size:.75rem;font-weight:600;display:inline-block}.route-status--in-progress{color:#92400e;background:#fef3c7}.route-status--completed{color:#166534;background:#dcfce7}.route-status--cancelled{color:#991b1b;background:#fee2e2}.invoice-status{color:#374151;background:#f3f4f6;border-radius:999px;padding:.2rem .625rem;font-size:.8125rem;font-weight:500;display:inline-block}.invoice-status--paid{color:#166534;background:#dcfce7}.invoice-status--in-progress{color:#1e40af;background:#dbeafe}.invoice-status--unpaid{color:#92400e;background:#fef3c7}.invoice-number-field{gap:.5rem;display:flex}.invoice-number-field .admin-form__input{flex:1}.invoice-filters{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.invoice-filters__field{flex:12rem;min-width:12rem}.service-act-status{color:#374151;background:#f3f4f6;border-radius:999px;padding:.2rem .625rem;font-size:.8125rem;font-weight:500;display:inline-block}.service-act-status--draft{color:#92400e;background:#fef3c7}.service-act-status--signed{color:#166534;background:#dcfce7}.service-act-status--cancelled{color:#991b1b;background:#fee2e2}.service-act-number-field{gap:.5rem;display:flex}.service-act-number-field .admin-form__input{flex:1}.service-act-filters{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.service-act-filters__field{flex:12rem;min-width:12rem}.infographics-filter,.analytics-filter{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin:1.5rem 0;padding:1rem 1.25rem;display:flex}.analytics-filter__modes{background:#f3f4f6;border-radius:.5rem;padding:.25rem;display:inline-flex}.analytics-filter__mode{color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.375rem;padding:.5rem .875rem}.analytics-filter__mode--active{color:var(--color-text);background:#fff;box-shadow:0 1px 2px #0f172a14}.analytics-filter__range{flex-wrap:wrap;gap:1rem;display:flex}.analytics-filter__field{flex-direction:column;gap:.375rem;display:flex}.analytics-filter__label{color:var(--color-muted);font-size:.8125rem}.analytics-filter__select,.analytics-filter__input{min-width:160px;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem .75rem}.analytics-panel{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.25rem}.analytics-panel__summary{align-items:baseline;gap:.75rem;margin-bottom:1rem;display:flex}.analytics-panel__summary-label{color:var(--color-muted);font-size:.9375rem}.analytics-panel__summary-value{font-size:1.5rem}.analytics-chart{width:100%;min-height:360px}.analytics-chart__empty{min-height:240px;color:var(--color-muted);justify-content:center;align-items:center;display:flex}
