/* Service-specific layout; the underlying controls and theme come from 27fasad. */
.page-title { margin-bottom: 16px; }
.order-meta { grid-template-columns: minmax(200px, 1fr) minmax(200px, 1.5fr) auto; }
.order-meta textarea { resize: vertical; min-height: 35px; max-height: 150px; }
.price-block { min-width: 140px; padding: 2px 0; }
.price-block strong { display: block; margin-top: 5px; }
.material-bar { padding: 14px 16px; border-bottom: 1px solid var(--line); }
.material-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 12px; }
.material-tabs button { white-space: normal; text-align: left; max-width: 330px; overflow-wrap: anywhere; }
.material-tabs .on { border-color: var(--accent); background: var(--accent-bg); color: var(--accent-d); }
html[data-theme="dark"] .material-tabs .on, html[data-theme="dark"] .view-controls .tabs .on { color: #a7c8ff; }
.material-tabs button small { display: block; color: var(--muted); margin-top: 3px; }
.material-actions, .view-controls { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.view-controls { padding: 10px 16px; border-bottom: 1px solid var(--line); }
.view-controls .tabs { margin: 0; }
.current-material { color: var(--muted); overflow-wrap: anywhere; }
.cutting-grid { min-width: 1020px; table-layout: fixed; }
.cutting-grid.all-materials { min-width: 1240px; }
.cutting-grid th.col-position { width: 68px; }
.cutting-grid th.col-name { width: 180px; }
.cutting-grid th.col-material { width: 210px; }
.cutting-grid th.col-dimension { width: 96px; }
.cutting-grid th.col-thickness { width: 70px; }
.cutting-grid th.col-quantity { width: 75px; }
.cutting-grid th.col-texture { width: 155px; }
.cutting-grid th.col-status { width: 145px; }
.cutting-grid th.col-actions { width: 92px; }
.cutting-grid td.acts button { margin-left: 2px; padding: 4px 7px; }
.row-note { font-size: 12px; color: var(--muted); }
.row-note.review { color: var(--accent); }
.row-note.incomplete { color: var(--muted); }
.row-note.error, .form-error, .save-status.error { color: var(--err); }
.save-status { font-size: 13px; color: var(--muted); overflow-wrap: anywhere; }
.save-status.saved { color: var(--ok); }
.totals { padding: 12px 16px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 6px 24px; }
.empty-state { padding: 38px 20px; text-align: center; color: var(--muted); }
.empty-state h2 { color: var(--text); }
.empty-state p { margin: 8px 0 16px; }
.list-grid { min-width: 650px; }
.list-grid td { padding: 12px 10px; }
.draft-title { white-space: normal; text-align: left; overflow-wrap: anywhere; max-width: 500px; }
dialog { width: min(560px, calc(100vw - 32px)); border: 1px solid var(--line-strong); border-radius: 8px; background: var(--panel); color: var(--text); padding: 22px; box-shadow: 0 14px 64px #0004; }
dialog::backdrop { background: #10182780; }
dialog form { display: flex; flex-direction: column; gap: 16px; }
.material-dimensions { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
dialog .field { width: 100%; min-width: 0; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 740px) { .order-meta { grid-template-columns: 1fr; } .material-dimensions { grid-template-columns: 1fr; } main { padding: 12px; } .page-title .spacer { display: none; } .price-block { display: flex; gap: 16px; align-items: center; } .price-block strong { margin: 0; } }
.cutting-grid th.col-machining { width: 250px; }
.processing-buttons { white-space: nowrap; }
.processing-buttons button { margin-right: 3px; }
.cutting-controls { display: flex; gap: 12px; align-items: flex-end; padding: 16px; margin-top: 16px; flex-wrap: wrap; }
.cutting-controls .lbl { min-width: 250px; }
.cutting-controls > .small { flex-basis: 100%; }
#cutting-results { scroll-margin-top: 70px; }
.result-summary { margin-top: 20px; }
.result-material { margin: 24px 0 12px; }
.sheet-card { margin: 0 0 18px; }
.sheet-card svg { width: 100%; max-height: calc(100vh - 210px); min-height: 280px; display: block; background: #fafbfc; border-radius: 5px; }
.sheet-card details { margin-top: 12px; }
.sheet-card summary { cursor: pointer; font-weight: 600; }
.cut-sequence { max-height: 300px; overflow-y: auto; line-height: 1.8; }
.feature-dialog { width: min(620px,calc(100vw - 30px)); max-height: 90vh; }
.feature-dialog h2 { margin-bottom: 18px; }
.feature-content { display: flex; flex-direction: column; gap: 10px; }
.feature-dialog .dialog-actions { margin-top: 18px; }
.catalog-dialog { width: min(900px,calc(100vw - 30px)); }
.catalog-search { display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 10px; }
.catalog-search .field { width: 100%; min-width: 0; }
.catalog-results { max-height: 50vh; overflow-y: auto; display: flex; flex-direction: column; gap: 6px; }
.catalog-item { text-align: left; white-space: normal; }
.catalog-item strong,.catalog-item span { display: block; }
.template-item { text-align: left; white-space: normal; }
.settings-section { margin: 16px 0; }
.category-list { max-height: 350px; overflow: auto; margin-top: 12px; border: 1px solid var(--line); padding: 8px; }
.category-option { padding: 5px; }
.profile-card { border-bottom: 1px solid var(--line); padding: 12px 0 20px; margin-bottom: 16px; display: flex; flex-direction: column; gap: 12px; }
.profile-fields { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 12px; }
.msg.show { display: block; }
.material-profile-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; width:100%; }
.contour-dialog { width:min(1200px,96vw); }
.contour-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:22px; }
.contour-canvas svg { width:100%; height:60vh; background:#f5f7fa; }
.contour-canvas line { cursor:pointer; }
.contour-canvas line:hover,.contour-canvas line:focus { stroke:#ee8a22; }
.contour-segment {cursor:pointer;}
.contour-segment:hover .contour-visible,.contour-segment:focus .contour-visible {stroke:#ee8a22;}
.selected-panel { outline:2px solid var(--accent); outline-offset:-2px; }
.login-card {max-width:430px;margin:8vh auto;}
.login-form {display:flex;flex-direction:column;gap:16px;margin-top:20px;}
.login-form .field {width:100%;}
.priority-list .head-row { margin:5px 0; }
a.button { display:inline-block; padding:8px 12px; border:1px solid var(--line); border-radius:6px; color:var(--text); text-decoration:none; }
@media(max-width:850px){.contour-layout {grid-template-columns:1fr;}.contour-canvas svg{height:35vh;}}
@media(max-width:600px){.catalog-search {grid-template-columns:1fr;}.cutting-controls .lbl {min-width:0;width:100%;}}
@media print {header,.page-title,.order-meta,.material-bar,.view-controls,.ed-foot,.cutting-controls,.processing-buttons,button,nav,.result-summary .head-row,.cut-sequence {display:none!important;}body{background:#fff;color:#000;}main{padding:0;max-width:none;}.sheet-card{break-inside:avoid;border:0;}.sheet-card svg{max-height:80vh;}#cutting-results details{display:none;}}
@media print { :root,html[data-theme="dark"] { --bg:#fff; --panel:#fff; --text:#000; --muted:#444; --line:#aaa; } }
