/* Only the monument composition column. Client details and totals retain their layout. */
.monument-composer{container-type:inline-size;container-name:composer;min-width:0}
.monument-composer .composer-block{border:1px solid #d7d7d7;border-radius:8px;overflow:visible;margin:18px 0;background:#fff}
.monument-composer .composer-heading{background:#ededed;border-bottom:1px solid #d7d7d7;padding:14px 16px;border-radius:8px 8px 0 0}
.monument-composer .composer-heading h3{font-size:18px;font-weight:650;margin:0;color:#292929}
.monument-composer .composer-heading p{font-size:13px;color:#626262;margin:3px 0 0}
.monument-composer .composer-body{padding:16px}
.monument-composer .composer-subsection+.composer-subsection{border-top:1px solid #dedede;margin-top:22px;padding-top:20px}
.monument-composer h4{font-size:15px;font-weight:650;margin:8px 0 14px}
.monument-composer label{font-size:13px;line-height:1.4;margin-bottom:5px}
.monument-composer input:not([type=checkbox]),.monument-composer select{min-width:0;height:42px;min-height:42px;font-size:15px;padding:8px 10px}
.monument-composer .btn,.monument-composer .chips button,.monument-composer .mtabs button{min-height:42px;font-size:14px;font-weight:500;line-height:1.3;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:9px 13px;border-radius:6px}
.monument-composer .btn.ghost,.monument-composer .chips button{background:#fff;border:1px solid #bbb}
.monument-composer .btn.ghost:hover,.monument-composer .chips button:hover{background:#e9e9e9;border-color:#888}
.monument-composer .mtabs{flex-wrap:wrap;align-items:center;gap:6px;border:0;padding:0 0 4px;margin:0}
.monument-composer .mtabs button{border:1px solid #ccc;background:#fff;color:#444}
.monument-composer .mtabs button.on{background:#404040;color:white;border-color:#404040}
.monument-composer .mtabs .rm{margin-left:0;font-size:12px;background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.monument-composer .chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.monument-composer .part-head{display:none}
.monument-composer .stone-piece{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;border:1px solid #dedede;background:#fafafa;padding:12px;margin:12px 0;border-radius:6px}
.monument-composer .stone-piece label{min-width:0;margin:0}
.monument-composer .stone-piece label:nth-of-type(2){grid-column:1/-1;grid-row:3}
.monument-composer .stone-piece label:nth-of-type(3):has(>span){display:none}
.monument-composer .piece-heading,.monument-composer .person-heading{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-height:30px;font-size:14px}
.monument-composer .piece-heading .del,.monument-composer .person-heading .del{margin-left:auto}
.monument-composer .del{width:32px;height:32px;min-height:32px;flex:none;border:1px solid #ddd;border-radius:5px;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.monument-composer .part-warn{margin:0 0 12px;font-size:12px}
.monument-composer .installation-control{padding:0;margin:0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto}
.monument-composer .installation-control label{margin:0}
.monument-composer .installation-control small{color:#626262;font-size:12px}
.monument-composer .person-entry{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;background:#fafafa;border:1px solid #dedede;border-radius:6px;padding:12px;margin-bottom:12px}
.monument-composer .person-entry>label{grid-column:span 2;min-width:0;margin:0}
.monument-composer .person-entry>label.person-date{grid-column:span 3}
.monument-composer .shared-surname{display:flex;gap:6px;align-items:center;margin:0;font-size:12px;flex:1;justify-content:flex-end}
.monument-composer input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:0;flex:none}
.monument-composer .person-actions{margin:8px 0 16px}
.monument-composer .person-actions .btn{width:auto}
.monument-composer .inscription-pricing{border-top:1px solid #dedede;padding-top:14px;margin-top:4px}
.monument-composer .inscription-pricing .f{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:8px 16px;align-items:center;margin:0}
.monument-composer .inscription-pricing label{margin:0;font-weight:500}
.monument-composer .inscription-pricing .hint{grid-column:1/-1;font-size:12px;line-height:1.8}
.monument-composer .spec{margin-top:16px;padding:16px;background:#f0f0f0;border-left:3px solid #a5a5a5;font-size:14px}
.monument-composer .decor-add-row{grid-template-columns:minmax(0,1fr) auto}
.monument-composer .decor-add-row>.f:first-child{grid-column:1/-1}
.monument-composer .part.decor{grid-template-columns:minmax(0,1fr) 110px 32px;gap:10px;background:#fafafa;border:1px solid #ddd;border-radius:6px;padding:10px;margin-top:10px;font-size:14px}
.monument-composer .composer-table{overflow-x:auto}
.monument-composer .lines:empty{display:none}
@container composer (max-width:500px){
 .monument-composer .composer-body{padding:12px}
 .monument-composer .composer-body>.row:not(.order-add-row){flex-wrap:wrap}
 .monument-composer .composer-body>.row:not(.order-add-row)>.f{flex:1 1 140px}
 .monument-composer .person-entry>label{grid-column:1/-1}
 .monument-composer .person-entry>label.person-date{grid-column:span 3}
 .monument-composer .person-heading{flex-wrap:wrap}
 .monument-composer .shared-surname{order:3;flex-basis:100%;justify-content:flex-start}
 .monument-composer .order-add-row.service-add-row{grid-template-columns:minmax(0,1fr) 90px}
 .monument-composer .service-add-row>.f:first-child{grid-column:1/-1}
 .monument-composer .order-add-row>.btn{grid-column:auto;width:auto}
 .monument-composer .decor-add-row>.f:nth-child(2){grid-column:1/-1}
 .monument-composer .decor-add-row>.btn{grid-column:1/-1}
 .monument-composer .installation-control{grid-template-columns:minmax(0,1fr)}
 .monument-composer .installation-control>.btn{width:100%}
 .monument-composer .inscription-pricing .f{grid-template-columns:minmax(0,1fr)}
 .monument-composer .part.decor{grid-template-columns:minmax(0,1fr) 32px}
 .monument-composer .part.decor>span{grid-column:1/-1}
}
