/* New account/dialog infrastructure only. Project and item layout lives in the
   unchanged original.css copied from the approved demo. */
.signed-out .sidebar,.signed-out #role-banner{display:none}
.legal-links{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12px;padding:16px 0;}
.legal-links a{text-decoration:underline;text-underline-offset:3px;}
.sidebar>.legal-links{margin-top:auto;color:#d5dfeb;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.public-legal-links{display:none;}
.signed-out>.public-legal-links{display:flex;justify-content:center;padding:16px;text-align:center;}
.entry-home>.public-legal-links{color:#e5edf6;}
.login label[hidden]{display:none!important}
.password-control{position:relative;display:flex;align-items:center}
.account-buyer-role{color:#dce8f5;font-size:12px;margin:4px 0 12px;}
body.customer #app .customer-project-card.prepared-admin-project{min-height:0;}
body.customer #app .prepared-admin-project .customer-header-process>.project-stages{grid-template-rows:auto auto;flex:none;}
body.customer #app .prepared-admin-project .customer-header-process>.project-stages>.customer-title-tile{grid-column:1/-1;width:100%;height:48px;}
body.customer #app .buyer-item-card>.item-right-column{align-self:start;}
body.customer #app .buyer-item-card .item-actions-left>button{background:var(--project-header-surface,#edf7f0);border-color:#86b698;color:#18334f;}
@media(min-width:651px){
 body.customer #app #items>.buyer-item-card>.item-actions{display:contents;}
 body.customer #app #items>.buyer-item-card>.item-right-column{grid-column:2;grid-row:1;padding-bottom:64px;box-sizing:border-box;}
 body.customer #app #items>.buyer-item-card>.item-actions>.item-actions-left{grid-column:2;grid-row:1;align-self:end;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;}
 body.customer #app #items>.buyer-item-card>.item-actions>.item-actions-left>button{width:100%;min-width:0;white-space:normal;margin:0;}
}

.password-control input{width:100%;box-sizing:border-box;padding-right:52px}
.password-control .password-toggle{position:absolute;right:4px;top:4px;bottom:4px;min-width:40px;margin:0;padding:4px;border:0;background:transparent;color:#245d9f;font-size:21px}
.signed-out #app{margin:0 auto;max-width:600px}
body.signed-out:not(.entry-home){display:flow-root;min-height:100svh;background:radial-gradient(ellipse at top,#303b49 0%,#1c232d 55%,#14191f 100%);}
.signed-out:not(.entry-home) .login{box-shadow:0 16px 40px #0004;}
body.signed-out.entry-supplier{background:#d1e8dd;}
body.signed-out.entry-customer{background:#d0e1f7;}
#notice:empty{display:none}
#notice:not(:empty){position:fixed;bottom:12px;left:270px;right:20px;transform:none;z-index:50;padding:12px;background:#fff3df;border:1px solid #c89b47;border-radius:8px}
body.signed-out #notice:not(:empty){position:static;box-sizing:border-box;width:calc(100% - 32px);max-width:600px;margin:16px auto;text-align:center;overflow-wrap:anywhere;color:#623b09;}
.login-secondary-actions{justify-content:space-between;margin-top:16px;}
.login-secondary-actions>button{min-width:0;}
.verification-actions{justify-content:center;gap:20px;flex-wrap:wrap;}
.admin-firm-card.firm-supplier{background:#d1e8dd;color:#172a22;}
.admin-firm-card.firm-customer{background:#d0e1f7;color:#17263b;}
.admin-firm-card.firm-supplier.firm-customer{background:linear-gradient(110deg,#d1e8dd,#d0e1f7);}
.admin-registration-card.registration-pending{background:#fbe3e3;color:#641c24;border:1px solid #d88b91;}
.admin-firm-member{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #30465726;}
.admin-firm-member>div{min-width:0;overflow-wrap:anywhere;}
.admin-firm-member small{display:block;margin-top:4px;}
.admin-firm-member button{flex-shrink:0;margin:0;}
.session-card{border:1px solid #c3cdd7;border-radius:8px;padding:12px;margin:12px 0;}
.session-card-heading{display:flex;align-items:center;gap:12px;}
.session-card p{margin:8px 0 0;overflow-wrap:anywhere;}
.system-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;}
.system-health-card{overflow-wrap:anywhere;}
.system-health-card.has-warning{background:#fff1df;border:1px solid #c89b47;color:#513916;}
#account.account-menu>button.system-health-warning{color:#ffcf87;}
@media(max-width:480px){.admin-firm-member{flex-wrap:wrap;}}
.registration-notification-card.is-compact{padding:12px 16px;}
.registration-notification-card.is-compact h2{font-size:16px;margin:0 0 8px;}
.registration-notification-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.registration-notification-summary span{min-width:0;overflow-wrap:anywhere;}
.registration-notification-summary button{margin:0;flex-shrink:0;}
.registration-notification-card [hidden]{display:none!important;}
#identity small{display:block;font-size:12px;color:#bfcfe0}
#account>select{width:100%;padding:6px;border:1px solid #cad6e4;border-radius:6px;background:white}
#account .menu-caption{font-size:11px;letter-spacing:.06em;color:#aabdd2;margin:16px 0 4px;text-align:center;}
.sidebar{overflow-y:auto}
.supplier-list-title{text-align:center}
#modal.company-details{width:min(960px,94vw);max-height:90vh;overflow:auto;}
.supplier-result{gap:12px;flex-wrap:wrap;}
.supplier-result small{display:block;}
.supplier-name-actions{display:flex;align-items:center;gap:8px;min-width:0;}
.supplier-name-actions{width:100%;flex-wrap:nowrap;}
:is(#requests,.customer .supplier-grid) .supplier-name-actions .supplier-details-button{margin-left:auto;flex-shrink:0;}
.customer .supplier-grid .supplier-card{grid-template-columns:minmax(240px,1.5fr) minmax(0,4.6fr) 44px;column-gap:8px;}
:is(#requests,.customer .supplier-grid) .supplier-name-actions .supplier-details-button{font-size:12px;padding:6px 9px;white-space:nowrap;}
#requests .supplier-name-actions .supplier-mark{border:0;border-radius:0;}
#requests .partner-message-button{padding:0;border:0;background:transparent;}
#requests .company-request{grid-template-columns:minmax(240px,1.5fr) minmax(0,4.6fr) 44px;align-items:center;}
#requests .company-request>.supplier-name-actions{flex-wrap:nowrap;align-items:center;}
#requests .company-request>.supplier-name-actions>button{margin:0;align-self:center;}
#requests .company-request>.supplier-name-actions>.supplier-details-button{margin-left:auto;}
#requests .company-request>.company-all-summaries,#requests .company-request>.partner-message-button{margin:0;align-self:center;}
#requests .partner-message-button{display:flex;align-items:center;justify-content:center;}
#requests .partner-message-button .company-message-count{margin:0;}
@media(max-width:650px){#requests .company-request{grid-template-columns:minmax(0,1fr) 36px;}#requests .company-request>.supplier-name-actions{grid-column:1;grid-row:1;}#requests .company-request>.partner-message-button{grid-column:2;grid-row:1;}#requests .company-request>.company-all-summaries{grid-column:1/-1;grid-row:2;}}
#requests .company-request .company-message-count.message-envelope{width:44px;min-width:0;height:40px;min-height:40px;padding:6px;box-sizing:border-box;border:1px solid #b5cee9;border-radius:8px;background:white;color:#245d9f}
#requests .company-request .company-message-count.message-envelope>span:first-child{font-size:25px;line-height:1}
@media(max-width:650px){#requests .company-request .company-message-count.message-envelope{width:36px}}
.customer .supplier-grid .company-all-summaries{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;min-width:0;align-items:stretch}
.customer #app .supplier-grid .company-all-summaries>.company-stage-summary{display:contents}
.customer #app .supplier-grid .company-all-summaries>.company-stage-summary>span{width:100%;height:100%;min-height:49px;margin:0;min-width:0;box-sizing:border-box;align-self:stretch}
.customer .supplier-grid .company-stock-summary>span{background:#edf7f0;border-color:#aacdb9}
@media(max-width:650px){.customer .supplier-grid .supplier-card{grid-template-columns:minmax(0,1fr) 44px}.customer .supplier-grid .supplier-card .supplier-envelope{grid-column:2}.customer .supplier-grid .company-all-summaries{grid-column:1/-1;grid-row:2}}
.supplier-grid button.supplier-mark{background:transparent;border:0;text-align:left;color:inherit;padding:0}
/* One name style for both partner lists. */
:is(#requests .company-request,.customer .supplier-grid .supplier-card) .partner-company-name{color:#172b46;font-family:"Segoe UI",sans-serif;font-size:14px;font-weight:750;line-height:1.25;background:transparent;padding:0;text-align:left;overflow-wrap:anywhere;}
#account.account-menu > button{background:transparent;border:0;text-align:center;color:#e2ebf7;font-size:13px;padding:9px 12px}
#account.account-menu > button:hover{background:#245182}
.sidebar .brand{display:block;background:transparent;border:0;border-radius:0;padding:0;}
.sidebar .brand img{max-width:100%}
.attachment-three-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.customer #items .price-box input[inputmode="decimal"]{width:100%;margin:0;padding:5px;font-size:14px}
.sidebar>.role-switch{background:transparent;border:0;text-align:left;color:white;padding:12px;font-size:14px}
.attachment-three-slots>.attachment-slot,.attachment-three-slots>.attachment-tile{height:80px;min-width:0;margin:0;position:relative}
.attachment-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;min-width:0;width:100%;padding:4px;border:1px dashed #9ab7ce;background:#eff6fc;border-radius:8px;font-size:11px}
.attachment-tile img{width:100%;height:100%;min-height:0;object-fit:contain}
.attachment-tile small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.attachment-three-slots .attachment-slot>.attachment-tile{border:0;height:100%;margin:0!important}
.attachment-tile.upload-slot input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0;width:100%;height:100%}
.remove-attachment{position:absolute;right:0;top:0;padding:0 5px;margin:0!important}
.supplier-card-media .attachment-tile{width:100px;height:85px}
.supplier-card-media .attachment-tile img{height:55px}
.supplier-card-media .empty-attachment{color:#62748c}
.project-list-quote .pdf-preview{width:100%;height:64px;object-fit:contain}
.project-list-quote>a{position:relative;max-width:100%;overflow:hidden}
#modal .closebar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:none}
#modal .closebar h2{margin:0}
#modal .actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
#modal .identity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#modal input[type=checkbox]{display:inline-block;width:auto;margin-right:8px}
#modal .gallery-row{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;align-items:center}
#modal .gallery-row>button{padding:8px 0}
#modal .gallery-stage{height:min(420px,55vh);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
#modal .gallery-stage img{max-width:100%;max-height:100%;object-fit:contain}
#modal.gallery{width:min(720px,94vw)}
#modal.chat[open]{display:flex;flex-direction:column;height:min(650px,calc(100dvh - 32px));overflow:hidden}
#modal.chat .messages{flex:1 1 0;min-height:0;overflow:auto;padding:0;list-style:none}
#modal.chat .messages li{background:#edf4fb;border-radius:8px;padding:12px;margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}
#modal.chat .messages li.mine{background:#e0f0e6}
#modal.chat .messages small{display:block;color:#62748c}
#modal.chat form{flex:none}
#modal.chat textarea{height:72px;resize:none}
@media(max-width:650px){#notice:not(:empty){left:12px}.sidebar{overflow:visible}}
/* At phone widths retain the single action row without its intrinsic widths
   pushing the four states outside the item. Desktop demo dimensions are intact. */
@media(max-width:650px){
 body.supplier #app#app .project-delivery-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;}
 body.supplier #app#app .project-delivery-row>.delivery-priority{grid-column:1/-1;justify-self:center;width:100%;margin:0;}
 body.supplier #app#app .project-delivery-row>small:empty{display:none;}
 body.customer #app#app .buyer-project-card:not(.prepared-admin-project) .project-delivery-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;}
 body.customer #app#app .buyer-project-card:not(.prepared-admin-project) .project-delivery-row>.delivery-priority{grid-column:1/-1;justify-self:center;width:100%;margin:0;}
 body.customer #app#app .buyer-project-card:not(.prepared-admin-project) .project-delivery-row>small:empty{display:none;}
 body.customer #projects>.customer-project-card,#supplier-projects>.supplier-project-row,#supplier-detail-card>.supplier-project-row{grid-template-columns:minmax(0,1fr);gap:12px}
 body.customer #projects>.customer-project-card>.project-card-link,#supplier-projects>.supplier-project-row>.request,#supplier-detail-card>.supplier-project-row>.request{grid-column:1;grid-row:1}
 body.customer #projects>.customer-project-card>.project-stages,#supplier-projects>.supplier-project-row>.project-stages,#supplier-detail-card>.supplier-project-row>.project-stages{grid-column:1;grid-row:2;min-width:0;grid-template-columns:repeat(4,minmax(0,1fr))}
 body.customer #projects .customer-project-stages>span,#supplier-projects .project-stages>span,#supplier-detail-card .project-stages>span{min-width:0;font-size:9px;padding:3px 1px}
 body.customer #projects>.customer-project-card>.project-card-actions,#supplier-projects .project-message-actions,#supplier-detail-card .project-message-actions{grid-column:1;grid-row:3;width:100%}
 body.customer #projects>.customer-project-card>.customer-project-summary,#supplier-projects .project-profit-summary,#supplier-detail-card .project-profit-summary{grid-column:1;grid-row:4;width:100%;max-width:none}
 body.customer #items>li{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px}
 body.customer #items>li>.item-details{grid-column:1;grid-row:1}
 body.customer #items>li>.item-right-column{grid-column:1;grid-row:2}
 body.customer #items>li>.item-note-row{grid-column:1;grid-row:3}
 body.customer #items>li>.item-actions{grid-column:1;grid-row:4}
 body.customer #item-form{grid-template-columns:90px minmax(0,1fr)}
 body.customer #item-form>.item-top-photo{grid-column:1/-1;grid-row:6}
 body.customer #item-form>.inline-item-pricing{grid-column:1/-1;grid-row:7}
 body.customer #item-form>.item-note-row{grid-row:8}
 body.customer #item-form>.inline-item-actions{grid-row:9}
 body.customer #items .item-actions{grid-template-columns:minmax(0,1fr);gap:8px}
 body.customer #items .item-actions-left{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;min-width:0}
 body.customer #items .item-actions-left button{width:100%;min-width:0;min-height:36px;margin:0!important;padding:6px;font-size:12px;white-space:normal}
 body.customer #items .customer-item-stock{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px}
 body.customer #items .customer-item-stock>span{font-size:11px;line-height:1.3;min-height:34px;padding:5px;white-space:normal}
 #parts .part-actions{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:5px}
 #parts .part-edit-group{gap:3px;padding:3px;min-width:0}
 #parts .part-edit-group>button{width:50%;font-size:10px;padding:5px 2px}
 #parts .part-actions>.supplier-stock-state{gap:2px;padding:5px 2px}
 #parts .part-actions>.supplier-stock-state button{font-size:11px;line-height:1.3;min-height:34px;padding:5px;white-space:normal}
}
body.entry-home{color:#172b46;}
body.entry-home>.sidebar,body.entry-home>#role-banner{display:none}
body.entry-home>#app{max-width:none;margin:0;min-height:100svh;display:flex;flex-direction:column;padding:clamp(20px,4vw,56px);gap:clamp(20px,4vh,42px)}
.entry-home #app>header{display:flex;justify-content:center}
.entry-home header img{display:block;width:clamp(190px,25vw,320px);max-width:100%;height:auto;border-radius:12px}
.entry-roles{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,3vw,36px);width:100%;max-width:1400px;margin:0 auto}
.entry-role{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-height:320px;padding:30px 12px;border:1px solid #d3e3df;border-radius:24px;color:#174f46;background:linear-gradient(145deg,#fff,#e0eee9);text-decoration:none;box-shadow:0 12px 35px #193c6509;transition:transform .18s,box-shadow .18s}
.entry-role.customer{color:#215caa;border-color:#d0deef;background:linear-gradient(145deg,#fff,#e0eafa)}
.entry-role:hover{transform:translateY(-4px);box-shadow:0 18px 40px #193c6518}
.entry-role:focus-visible{outline:3px solid #246ad1;outline-offset:5px}
.entry-icon svg{width:clamp(48px,7vw,86px);stroke:currentColor;stroke-width:1.5;fill:none}
.entry-role h1{margin:0;font-size:clamp(20px,3.5vw,46px);font-weight:650;letter-spacing:-.6px}
.entry-arrow{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#ffffffb3;font-size:26px}
.entry-home footer{text-align:center;color:#d5dfeb}
.entry-home .admin-entry{display:inline-block;margin-bottom:8px;color:#d5dfeb;font-size:14px;text-underline-offset:3px}
@media(max-width:500px){body.entry-home>#app{padding:16px;gap:24px}.entry-role{min-height:280px;gap:18px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.entry-role{transition:none}.entry-role:hover{transform:none}}

/* Unified company profile and presentation. */
.supplier-presentation textarea {width:100%;box-sizing:border-box;padding:10px;border:1px solid #bdcde0;border-radius:8px;resize:vertical;font:inherit;}
.presentation-editor > label {display:block;font-weight:600;margin:16px 0 6px;}
.presentation-editor > small {display:block;margin:7px 0;color:#52657b;}
.presentation-preview {padding:8px 0 20px;}
.presentation-preview h3 {margin:16px 0 8px;}
.presentation-preview p {margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;}
.company-profile-summary{max-width:960px;padding:8px 0 24px;box-sizing:border-box;}
.company-profile-summary h2{margin:0 0 20px;font-size:28px;}
.company-profile-details dl{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:8px 20px;}
.company-profile-details dt{color:#52657b;}
.company-profile-details dd{margin:0;overflow-wrap:anywhere;}
.company-settings .supplier-presentation{max-width:960px;background:white;border:1px solid #d7e2ef;border-radius:12px;box-sizing:border-box;}
.supplier-presentation .presentation-photos{grid-template-columns:repeat(4,minmax(0,1fr));}
.company-profile-groups{display:grid;grid-template-columns:2fr 1fr;gap:28px;}
.company-profile-groups .company-profile-details{min-width:0;}
.company-profile-groups .company-profile-details dl{grid-template-columns:minmax(0,1fr) minmax(0,2fr);}
.company-profile-details dt{overflow-wrap:anywhere;}
@media(max-width:600px){.company-profile-groups{grid-template-columns:1fr;gap:8px;}}

#role-banner[hidden]{display:none!important}

/* Shared company presentation and account cards: Chrome audit. */
.company-logo-preview{display:flex;justify-content:center;align-items:center;margin:20px 0 32px;}
.company-logo-preview:empty{display:none;}
.company-logo-controls{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0 0 28px;padding-bottom:24px;border-bottom:1px solid #dbe3ec;}
.company-logo-controls[hidden]{display:none;}
.company-logo-controls .company-form-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0;}
.presentation-editor{padding-top:20px;}
.security-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;}
.security-grid>.panel{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;}
.security-grid>.panel h2{margin:0;}
.security-grid>.panel small{display:block;overflow-wrap:anywhere;max-width:100%;}
.security-grid>.panel button{margin-top:auto;max-width:100%;white-space:normal;}
/* Mechatronics landing background, local preview. */
body.entry-home{background:#17212b url('/assets/mechatronics-home-v1.png') center/cover no-repeat fixed;}
body.entry-home>#app{background:linear-gradient(180deg,#10192338,#10192318 50%,#10192390);}
.entry-home .entry-roles{flex:0 1 auto;max-width:1050px;}
.entry-home .entry-role{box-shadow:0 16px 40px #0004;}
.entry-home .entry-role.customer{}
@media(max-width:500px){.entry-home .entry-role{min-height:240px;}body.entry-home{background-attachment:scroll;}}
.entry-home .entry-role{overflow:hidden;min-height:0;}
.entry-photo{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;}
.entry-home .entry-role h1{font-size:clamp(20px,3vw,36px);}
.entry-home .entry-arrow{width:36px;height:36px;font-size:22px;}
@media(max-width:500px){.entry-home .entry-role{gap:12px;padding-bottom:16px;}.entry-photo{aspect-ratio:1/1;}}
/* Original brand integrated into a shared landing header. */
.entry-home #app>header{width:100%;max-width:1050px;margin:0 auto;padding:16px 28px;box-sizing:border-box;background:#fff;border:1px solid #e4eaf0;border-radius:20px;box-shadow:0 12px 32px #0003;}
.entry-home #app>header img{width:clamp(190px,23vw,280px);border-radius:0;object-fit:contain;}
@media(max-width:500px){.entry-home #app>header{padding:12px 20px;border-radius:16px;}}
/* Shorter role cards, positioned lower to reveal the background. */
.entry-home .entry-roles{}
.entry-home .entry-photo{}
.entry-home .entry-role{padding-bottom:16px;}
@media(max-width:500px){.entry-home .entry-photo{}.entry-home .entry-roles{}}
@media(max-height:550px){.entry-home .entry-roles{transform:none;}}
body.entry-home{background-image:url('/assets/mechatronics-home-rich-v8-q92.webp');}
.entry-home .entry-roles{transform:none;margin:calc(34svh - clamp(20px,4vw,56px)) auto 0;}
.entry-home #app>footer{margin-top:auto;}
@media(max-width:500px){.entry-home .entry-roles{transform:none;margin-top:calc(34svh - 16px);}}
/* Full photographs and compact role labels, without arrows. */
.entry-home .entry-role{gap:0;padding:0;background:#d1e8dd;}
.entry-home .entry-role.customer{background:#d0e1f7;}
.entry-home .entry-photo{aspect-ratio:3/2;object-fit:contain;height:auto;}
.entry-home .entry-role h1{width:100%;box-sizing:border-box;text-align:center;padding:14px 10px;margin:0;color:#125f4f;}
.entry-home .entry-role.customer h1{color:#185db5;}
.entry-home .entry-roles.entry-single{grid-template-columns:minmax(0,1fr);max-width:507px;}
@media(max-width:500px){.entry-home .entry-photo{aspect-ratio:3/2;}.entry-home .entry-role h1{padding:12px 6px;}}
.firm-card-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:24px;align-items:start}
.firm-details,.firm-storage{min-width:0}
.firm-storage{padding:16px;border-radius:12px;background:rgba(255,255,255,.65);display:flex;flex-direction:column;gap:8px}
.firm-storage-value{margin:0!important;font-size:1.1rem;font-weight:600}
.firm-storage progress{display:block;width:100%;height:14px;accent-color:#329871}
.firm-storage.over-recommendation progress{accent-color:#bd7022}
.firm-storage.over-recommendation .firm-storage-value{color:#8a4800}
.firm-retention{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
.firm-storage small{line-height:1.4}
@media(max-width:760px){.firm-card-columns{grid-template-columns:minmax(0,1fr);gap:16px}.firm-storage{padding:12px}}
/* Compact collapsible navigation on phones, shared by both company roles. */
.mobile-menu-toggle{display:none}
@media(max-width:650px){
 body:not(.signed-out)>.sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,130px) minmax(0,1fr);gap:10px 8px;padding:12px 16px;align-items:center}
 .sidebar .brand{grid-column:2;grid-row:1;justify-self:center;width:130px;max-width:100%;padding:0;margin:0}
 .sidebar .mobile-menu-toggle{grid-column:1;grid-row:1;justify-self:start;display:block;margin:0;min-height:44px;min-width:0;max-width:100%;padding:9px 6px;font-size:14px;color:white;background:#245182;border-color:#59718b}
 .sidebar #identity{grid-column:1/-1;display:block;margin:0;padding:0;border:0;font-size:12px;overflow-wrap:anywhere}
 .sidebar #identity small{display:inline;margin-right:10px}
 .sidebar #account,.sidebar>.legal-links{display:none}
 .sidebar.mobile-menu-open #account{grid-column:1/-1;display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:0;padding-top:10px;border-top:1px solid #59718b}
 .sidebar.mobile-menu-open #account .menu-caption{display:block;margin:8px 0 2px;width:100%;font-size:12px}
 .sidebar.mobile-menu-open #account button{text-align:center;width:100%;margin:0;min-height:44px}
 .sidebar.mobile-menu-open>.legal-links{grid-column:1/-1;display:flex;padding:8px 0 0;margin:0}
}
/* Commission is a platform-admin setting; remaining totals fill its space. */
.firm-commission-setting{display:flex;align-items:center;gap:8px;margin-top:14px}
.firm-commission-setting input{width:auto}
#supplier-project-summary:has(>div:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
body.supplier :is(#supplier-projects,#supplier-detail-card) .project-profit-summary{width:100%;max-width:none;justify-self:stretch;align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr));}
body.supplier :is(#supplier-projects,#supplier-detail-card) .project-profit-summary:has(.project-commission){grid-template-columns:repeat(4,minmax(0,1fr));}
body.supplier :is(#supplier-projects,#supplier-detail-card) .project-profit-summary>div{width:100%;min-width:0;box-sizing:border-box;}
.customer-project-list-panel .all-projects-summary>div:only-child{}
/* Customer project cards: compact actions and readable price/quote blocks. */
body.customer #projects .project-card-actions{grid-template-columns:40px minmax(0,130px) minmax(0,90px) minmax(0,1fr);justify-content:start}
body.customer #projects .project-card-actions:has(.project-restore){grid-template-columns:40px minmax(0,130px) minmax(0,90px) minmax(0,100px) minmax(0,1fr)}
body.customer #projects .project-card-actions>.project-copy{justify-self:start;white-space:normal;line-height:1.25}
body.customer #projects .customer-project-summary{width:100%;max-width:none;justify-self:stretch;align-self:center;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
body.customer #projects .customer-project-summary:has(.project-commission){grid-template-columns:repeat(3,minmax(0,1fr))}
body.customer #projects .customer-project-summary>.project-total,
body.customer #projects .customer-project-summary>.project-list-quote{min-height:104px;padding:14px;display:flex;flex-direction:column;justify-content:center;gap:10px}
body.customer #projects .customer-project-summary>.project-total>strong{font-size:22px;line-height:1.3}
body.customer #projects .customer-project-summary>.project-total>small,
body.customer #projects .customer-project-summary>.project-list-quote small{font-size:13px;line-height:1.5}
@media(max-width:650px){
 body.customer #projects .project-card-actions:has(.project-restore){grid-template-columns:36px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr)}
 body.customer #projects .customer-project-summary{max-width:none;gap:8px}
 body.customer #projects .customer-project-summary>.project-total,
 body.customer #projects .customer-project-summary>.project-list-quote{padding:10px;min-height:100px}
}

/* Project actions: cancellation stays separate from request actions. */
.new-project-bottom-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:100%;}
#project-form .new-project-bottom-row>button.new-project-cancel{margin-left:auto;}

/* Rounded, interlocking supplier ownership areas, with no doubled borders. */
body[data-account-role="supplier"] #parts .part.rounded-price-frame{position:relative;isolation:isolate;border-color:transparent;background:transparent;}
#parts .rounded-price-frame>.supplier-frame-art{position:absolute;left:-2px;top:-2px;width:calc(100% + 4px);height:calc(100% + 4px);pointer-events:none;z-index:-1;overflow:visible;}
#parts .rounded-price-frame .supplier-request-header,#parts .rounded-price-frame .supplier-pricing .customer-price{background:transparent;border-color:transparent;}
#parts .rounded-price-frame .supplier-pricing .customer-price::before{display:none;}
#parts .rounded-price-frame .customer-price .line-price-section{background:rgba(155,188,231,.16);border-radius:10px;}

/* Keep supplier item geometry intact in a narrow viewport. */
body.supplier #parts{min-width:0;max-width:100%;overflow-x:auto;}
body.supplier #parts .part.rounded-price-frame{min-width:760px;box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(160px,260px);}
#parts .rounded-price-frame .supplier-request-header{}
#parts .rounded-price-frame .supplier-request-header .supplier-card-media{grid-column:2;grid-row:1;}
#parts .rounded-price-frame .supplier-pricing{grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr));}
#parts .rounded-price-frame .supplier-pricing.hide-purchase{grid-template-columns:repeat(2,minmax(0,1fr));}
#parts .rounded-price-frame .supplier-pricing .customer-price{border-top:0;border-radius:0 0 10px 10px;}

/* Compact supplier item details: identification left, quantity and note right. */
#parts .rounded-price-frame .supplier-request-header .supplier-part-details{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);column-gap:18px;row-gap:6px;}
#parts .rounded-price-frame .supplier-request-header .supplier-part-details>p{display:grid;gap:8px;margin:0;min-width:0;align-items:stretch;}
#parts .rounded-price-frame .supplier-part-details>p:nth-child(1){grid-column:1;grid-row:1;}
#parts .rounded-price-frame .supplier-part-details>p:nth-child(2){grid-column:1;grid-row:2;}
#parts .rounded-price-frame .supplier-part-details>p:nth-child(3){grid-column:1;grid-row:3;}
#parts .rounded-price-frame .supplier-part-details>p:nth-child(4){grid-column:2;grid-row:1;}
#parts .rounded-price-frame .supplier-part-details>p:nth-child(5){grid-column:2;grid-row:2 / 4;}
#parts .rounded-price-frame .supplier-part-details .supplier-detail-value{box-sizing:border-box;}
#parts .rounded-price-frame .supplier-part-details>p:nth-child(5) .supplier-detail-label{align-items:flex-start;}

#parts .rounded-price-frame .supplier-request-header .supplier-part-details>p{grid-template-columns:100px minmax(0,1fr);}
#parts .rounded-price-frame .supplier-part-details .supplier-detail-label{white-space:nowrap;}
#parts .rounded-price-frame .supplier-card-media{gap:4px;}
#parts .rounded-price-frame .supplier-card-media .card-photo{height:72px;min-height:72px;}
#parts .rounded-price-frame .supplier-card-media .card-photo img{height:60px;}

#parts .rounded-price-frame .supplier-request-header{padding:10px 14px;}
#parts .rounded-price-frame .supplier-item-number{top:0;padding:2px 10px;font-size:14px;line-height:20px;}
#parts .rounded-price-frame .supplier-card-media{padding-top:18px;}

/* Attachments share the lower blue area with the recommended price. */
#parts .rounded-price-frame .supplier-request-header{grid-template-columns:minmax(0,1fr);}
#parts .rounded-price-frame .supplier-pricing .customer-price{display:grid;align-items:stretch;}
#parts .rounded-price-frame .customer-price>.unit-price-section{grid-column:1;grid-row:1;}
#parts .rounded-price-frame .customer-price>.line-price-section{grid-column:1;grid-row:2;}
#parts .rounded-price-frame .customer-price>.supplier-card-media{align-items:center;justify-content:center;min-width:0;}
#parts .rounded-price-frame .customer-price .card-photo{width:100%;max-width:120px;box-sizing:border-box;}

/* Separate attachment and matching compact price cards. */
#parts .rounded-price-frame .supplier-pricing{--compact-price-width:clamp(160px,12vw,200px);}
#parts .rounded-price-frame .supplier-pricing .customer-price{grid-template-columns:minmax(0,1fr) var(--compact-price-width);grid-template-rows:1fr;gap:10px;padding:8px;box-sizing:border-box;}
#parts .rounded-price-frame .customer-price>.supplier-card-media{grid-column:1;grid-row:1;padding:8px;border:1px solid #9bbce7;border-radius:10px;box-sizing:border-box;background:#edf4ff;}
#parts .rounded-price-frame .recommended-price-card{grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:space-between;min-height:124px;border:1px solid #9bbce7;border-radius:10px;overflow:hidden;box-sizing:border-box;}
#parts .rounded-price-frame .supplier-pricing>.supplier-price:nth-child(3){width:var(--compact-price-width);min-height:124px;margin:8px;box-sizing:border-box;justify-self:start;align-self:stretch;}
#parts .rounded-price-frame .recommended-price-card>.unit-price-section,#parts .rounded-price-frame .supplier-pricing>.supplier-price:nth-child(3)>.unit-price-section{padding:9px;}
#parts .rounded-price-frame .recommended-price-card,#parts .rounded-price-frame .supplier-pricing>.supplier-price:nth-child(3){height:132px;min-height:132px;align-self:center;}
#parts .rounded-price-frame .supplier-request-header{padding-left:42px;padding-right:14px;}
#parts .rounded-price-frame .supplier-item-number{left:0;right:auto;border-left:0;border-right:1px solid #b7c9dd;border-radius:10px 0 10px 0;}
#parts .rounded-price-frame .customer-price>.supplier-card-media{width:var(--compact-price-width);height:132px;min-height:132px;justify-self:start;align-self:center;}

#parts .rounded-price-frame .supplier-pricing>.supplier-price:nth-child(3){grid-column:3;grid-row:1;}
#parts .rounded-price-frame .supplier-pricing.hide-purchase>.supplier-price:nth-child(3){grid-column:2;}
#parts .rounded-price-frame .supplier-pricing>.part-edit-group{grid-column:3;grid-row:1;justify-self:end;align-self:center;margin:8px;width:var(--compact-price-width);height:132px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:10px;border:1px solid #aacdb9;border-radius:10px;background:#f0f8f3;}
#parts .rounded-price-frame .supplier-pricing.hide-purchase>.part-edit-group{grid-column:2;}
#parts .rounded-price-frame .supplier-pricing>.part-edit-group>button{width:100%;max-width:120px;}
#parts .rounded-price-frame .part-actions{grid-template-columns:minmax(0,1fr);}
/* Shared workspace background for both business roles. */
body:is(.supplier,.customer):not(.signed-out){background:#dce5ef;}

html.app-loading{background:#dce5ef;}
html.app-loading body{visibility:hidden;opacity:0!important;pointer-events:none!important;background:#dce5ef!important;}
/* Shared contrast accent for grouped controls. */
:root{--mechatro-contrast-bg:#d6e1ed;--mechatro-contrast-border:#829ab3;}
.message-icon{display:block;width:24px;height:24px;max-width:100%;flex:none;color:inherit;}
.registration-form [hidden]{display:none!important;}
.company-operational-address .operational-address-toggle{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.company-operational-address .operational-address-toggle input{width:18px;height:18px;min-width:18px;margin:0;}
.company-operational-address [hidden]{display:none!important;}
#parts .part-actions>.supplier-stock-state{background:var(--mechatro-contrast-bg);border-color:var(--mechatro-contrast-border);}

/* Shared project title in both roles, in the list and detail. */
body:is(.supplier,.customer) #app .shared-project-title{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;text-align:center;gap:4px;}
body:is(.supplier,.customer) #app .shared-project-title>.shared-project-number{grid-column:1;grid-row:1;text-align:left;margin:0;font-size:inherit;color:inherit;}
body:is(.supplier,.customer) #app .shared-project-title>.shared-project-name{grid-column:2;grid-row:1;text-align:center;margin:0;min-width:0;overflow-wrap:anywhere;font-size:inherit;color:inherit;}
/* Same supplier header controls in project list and project detail. */
:is(#supplier-projects,#supplier-detail-card) .supplier-project-row .project-message-actions{justify-content:center;}
:is(#supplier-projects,#supplier-detail-card) .supplier-project-row .project-message-actions>button:is(.message-envelope,.project-delete){width:90px;min-width:90px;height:36px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:6px 10px;}
body.customer #app .project-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;}
body.customer #app .project-card-actions>button:is(.message-envelope,.project-delete){width:90px;min-width:90px;height:36px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:6px 10px;}
body.customer #app .project-card-actions>button:is(.project-copy,.project-restore){width:auto;max-width:100%;flex:0 0 auto;}
body.customer #app .project-card-actions>.customer-stock-indicators{flex:0 0 100%;}
/* Company heading frame shared by supplier and customer workspaces. */
body:is(.supplier,.customer) main>.customer-page-heading>h2[data-company-heading],
body:is(.supplier,.customer) main>.customer-page-heading>#supplier-section-title,
body.customer main .customer-page-heading.customer-detail-heading:has(#project-heading)>#project-heading{box-sizing:border-box;padding:7px 12px;border:1px solid #b7c9dd;border-radius:8px;background:#f3f7fc;line-height:1.2;}
body.supplier #app>.customer-page-heading>#supplier-section-title{box-sizing:border-box;padding:7px 12px;border:1px solid #b7c9dd;border-radius:8px;background:#f3f7fc;line-height:1.2;}
body:is(.supplier,.customer) #app>.customer-page-heading.project-list-heading>h2{width:fit-content;max-width:100%;justify-self:center;padding:7px 12px;border:1px solid #b7c9dd;border-radius:8px;background:#f3f7fc;}
body:is(.supplier,.customer) #app>.customer-page-heading>h2{width:fit-content!important;max-width:100%;justify-self:center!important;}
body.customer #app>.customer-page-heading>#project-heading{width:fit-content!important;max-width:100%;justify-self:center!important;}
body.customer .customer-project-panel .item-entry-actions>button{width:auto;max-width:100%;}
body.customer .customer-project-panel .item-entry-actions>#add-item{}
body.customer .customer-project-panel .item-entry-actions>#import-items{justify-self:start;}
body.supplier #customer-detail #quote-form{width:fit-content;max-width:100%;margin:10px auto 12px;justify-content:center;}
body.customer .customer-project-panel .item-entry-actions>#add-item{width:max-content;max-width:100%;justify-self:end;}
body.supplier :is(#supplier-projects,#supplier-detail-card) .project-profit-summary>div{background:#e0f0e6;border-color:#aacdb9;}
body.supplier #app :is(#supplier-projects,#supplier-detail-card) .shared-project-title{background:#fff;border-color:#b5cee9;}

body:is(.supplier,.customer) #app :is(.project-message-actions,.project-card-actions)>.project-delivery-row{flex:0 0 100%;width:100%;box-sizing:border-box;}

/* Purchase-enabled cards keep enough space for the attachment and all controls. */
body.supplier #parts .part.rounded-price-frame:has(.supplier-pricing:not(.hide-purchase)){}
#parts .rounded-price-frame .supplier-pricing:not(.hide-purchase){}
/* Shared supplier header: quote spans the answer and close columns. */
body.supplier #app .project-stages>.quote-upload{width:100%;margin:0;padding:8px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;min-width:0;}
body.supplier #app .project-stages>.quote-upload .quote-tile{max-width:calc(100% - 30px);}
body.supplier #app :is(#supplier-detail-card,#supplier-projects) .project-stages>.quote-upload{width:100%!important;max-width:none;margin:0!important;justify-self:stretch;}
/* Balanced three-price frame and compact quotation in the shared header. */
body.supplier #parts .part.rounded-price-frame:has(.supplier-pricing:not(.hide-purchase)){}
#parts .rounded-price-frame .supplier-pricing:not(.hide-purchase){grid-template-columns:repeat(3,minmax(0,1fr));--compact-price-width:calc((100% - 28px)/2);}
#parts .rounded-price-frame .supplier-pricing:not(.hide-purchase) .customer-price{grid-template-columns:repeat(2,minmax(0,1fr));}
#parts .rounded-price-frame .supplier-pricing:not(.hide-purchase) .customer-price>.supplier-card-media{width:100%;}
#parts .rounded-price-frame .supplier-pricing:not(.hide-purchase)>.supplier-price:nth-child(3),
#parts .rounded-price-frame .supplier-pricing:not(.hide-purchase)>.part-edit-group{width:calc((100% - 28px)/2);}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview{}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile{display:flex;align-items:center;gap:6px;width:100%;max-width:100%;height:32px;margin:0;}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile .quote-pdf-preview{position:static;width:24px;max-width:24px;height:32px;object-fit:contain;flex:none;}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile .quote-saved{position:static;opacity:1;width:auto;height:auto;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile .quote-remove{position:static;flex:none;}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile{}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile .quote-pdf-preview{position:static!important;width:24px!important;max-width:24px!important;height:32px!important;}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile .quote-saved{}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile .quote-remove{}
/* Compact notebook workspace; smaller windows scroll items without reshaping them. */
@media(min-width:1051px) and (max-width:1500px){
 body:is(.supplier,.customer)>.sidebar{width:200px;padding:24px 14px;}
 body:is(.supplier,.customer)>main{margin-left:200px;padding:20px 16px;}
 body:is(.supplier,.customer) #app .panel{padding:16px;}
}
body.supplier #parts .part.rounded-price-frame:has(.supplier-pricing:not(.hide-purchase)){min-width:980px;}
@media(max-width:1500px){
 #parts .rounded-price-frame .supplier-pricing:not(.hide-purchase) .customer-price{gap:6px;padding:6px;}
 #parts .rounded-price-frame .supplier-pricing:not(.hide-purchase)>.supplier-price:nth-child(3),
 #parts .rounded-price-frame .supplier-pricing:not(.hide-purchase)>.part-edit-group{width:calc((100% - 22px)/2);margin:6px;}
 #parts .rounded-price-frame .supplier-pricing:not(.hide-purchase)>.part-edit-group{padding:6px;}
 #parts .rounded-price-frame .supplier-request-header .supplier-part-details{column-gap:10px;}
}
/* Each supplier header column stacks independently, without an empty shared row. */
body.supplier #app .supplier-project-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px 20px;}
body.supplier #app .supplier-header-left,body.supplier #app .supplier-header-right{display:flex;flex-direction:column;gap:8px;min-width:0;}
body.supplier #app .supplier-header-left>.shared-project-title{width:100%;max-width:100%;min-width:0;margin:0;height:36px;padding:7px 10px;box-sizing:border-box;}
body.supplier #app .supplier-header-left>.project-message-actions,body.supplier #app .supplier-header-right>.project-profit-summary{margin:0;width:100%;align-self:stretch;}
@media(max-width:650px){body.supplier #app .supplier-project-row{grid-template-columns:minmax(0,1fr);}}
body.supplier #app .supplier-header-left>*,body.supplier #app .supplier-header-right>*{flex:none;}
/* Supplier header: process and totals left, project details and actions right. */
body.supplier #app .supplier-header-right{order:0;}
body.supplier #app .supplier-header-left{order:1;}
/* Supplier stock states align with the process indicators in the other column. */
body.supplier #app .supplier-header-left>.project-stock-state{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%;margin:0;align-items:stretch;}
body.supplier #app .supplier-header-left>.project-stock-state>button{min-width:0;}
body.supplier #app .supplier-header-left>.project-stock-state>span[role=status]{display:none;}
/* Supplier header stock buttons use the Delivered indicator appearance. */
body.supplier #app .supplier-header-left>.project-stock-state>button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;margin:0;padding:3px 4px;min-height:0;border:0;border-radius:12px;font-family:inherit;font-size:11px;font-weight:700;line-height:1.5;color:#124c91;background:#d7eaff;box-shadow:inset 0 0 0 2px #87b5eb;white-space:nowrap;}
body.supplier #app .supplier-header-left>.project-stock-state>button:disabled{opacity:1;}
body.supplier #app .supplier-header-left>.project-profit-summary{width:100%;max-width:none;margin:0;align-self:stretch;}
body.supplier #app .supplier-header-right>.project-delivery-row{width:100%;margin:0;box-sizing:border-box;}
/* Align delivery and totals along the shared bottom edge. */
@media(min-width:651px){
 body.supplier #app .supplier-project-row{align-items:stretch;}
 body.supplier #app .supplier-header-right>.project-delivery-row{margin-top:auto;}
 body.supplier #app .supplier-header-left>.project-profit-summary{margin-top:auto;}
}
/* Quote belongs directly to the close action column. */
body.supplier #app .project-stages>.quote-upload{grid-column:4;}
body.supplier #app .project-stages>.quote-upload>.quote-choose{max-width:100%;white-space:normal;}
body.supplier #app .project-stages>.quote-upload>label{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center;}
body.supplier #app .project-stages>.quote-upload{overflow:hidden;} body.supplier #app .project-stages>.quote-upload .quote-tile{min-width:0;} body.supplier #app .project-stages>.quote-upload .quote-saved{min-width:0;padding:2px;}
body.supplier #app .supplier-header-right>.project-stages{min-width:0;grid-template-columns:repeat(4,minmax(0,1fr));}
/* Supplier actions are part of their corresponding top-row indicators. */
body.supplier #app .project-stages>.stage-action{grid-row:1;margin:0;padding:3px 4px;min-height:0;border:0;border-radius:12px;font-family:inherit;font-weight:700;font-size:11px;line-height:1.5;white-space:normal;box-sizing:border-box;}
body.supplier #app .project-stages>.stage-waiting{background:#fff0c2;color:#775300;box-shadow:inset 0 0 0 2px #d5a946;cursor:pointer;}
body.supplier #app .project-stages>.stage-complete{background:#d7eaff;color:#124c91;box-shadow:inset 0 0 0 2px #87b5eb;opacity:1;}
body.supplier #app .project-stages>.stage-unavailable{background:#edf0f4;color:#697586;box-shadow:inset 0 0 0 2px #c6ced8;opacity:1;}
body.supplier #app .project-stages>.quote-upload{grid-row:2;}

/* Stock actions share the same waiting, ready and confirmed colors. */
body.supplier #app .supplier-header-left>.project-stock-state>.stock-unavailable{background:#edf0f4;color:#697586;box-shadow:inset 0 0 0 2px #c6ced8;opacity:1;}
body.supplier #app .supplier-header-left>.project-stock-state>.stock-waiting{}
body.supplier #app .supplier-header-left>.project-stock-state>.stock-complete{opacity:1;}
body.supplier #app .project-stages>.close-project.stage-waiting{background:#f8d8d4;color:#962e27;box-shadow:inset 0 0 0 2px #ce736b;}
/* Override legacy disabled-action styling after a confirmed supplier action. */
body.supplier #app .project-stages>button.stage-complete:disabled{border:0!important;opacity:1;filter:none;}
/* Exchange the project title and delivery positions in both supplier views. */
body.supplier #app .supplier-header-right>.shared-project-title{width:100%;max-width:100%;min-width:0;margin:0;height:36px;padding:7px 10px;box-sizing:border-box;}
body.supplier #app .supplier-header-left>.project-delivery-row{width:100%;margin:0;box-sizing:border-box;}
@media(min-width:651px){body.supplier #app .supplier-header-right>.shared-project-title{margin-top:auto;}}
/* Three equally sized square actions below the first three process indicators. */
body.supplier #app .project-stages>.supplier-header-square{grid-row:2;align-self:end;justify-self:stretch;width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin:0;padding:8px;display:flex;align-items:center;justify-content:center;white-space:normal;overflow-wrap:anywhere;border-radius:12px;}
body.supplier #app .project-stages>.supplier-title-square{grid-column:1;position:relative;}
body.supplier #app .project-stages>.supplier-message-square{grid-column:2;}
body.supplier #app .project-stages>.supplier-delete-square{grid-column:3;}
body.supplier #app .project-stages>.supplier-title-square .shared-project-name{min-width:0;padding:12px 0;text-align:center;white-space:normal;}
body.supplier #app .project-stages>.supplier-title-square .shared-project-number{position:absolute;left:8px;top:6px;}
body.supplier #app .project-stages>.supplier-header-square{aspect-ratio:2;height:auto;}
body.supplier #app .project-stages>.quote-upload{align-self:end;aspect-ratio:2;min-height:0;height:auto;max-width:100%;border-radius:12px;} body.supplier #app .project-stages>.quote-upload.has-pdf-preview{min-height:0;}
/* Keep the four lower actions level with the opposite price-summary bottom. */
@media(min-width:651px){
 body.supplier #app .supplier-header-right>.project-stages{flex:1;display:grid;grid-template-rows:auto 1fr;align-content:stretch;}
 body.supplier #app .supplier-header-right>.project-stages>.supplier-header-square,
 body.supplier #app .supplier-header-right>.project-stages>.quote-upload{align-self:end;}
}
body.supplier #app .project-stages>.supplier-message-square{position:relative;} body.supplier #app .project-stages>.supplier-message-square>span[aria-hidden=true]{display:block;font-size:clamp(28px,3.4vw,52px);line-height:1;} body.supplier #app .project-stages>.supplier-message-square>.unread-badge{position:absolute;top:5px;right:5px;}
body.supplier #app .supplier-header-right>.project-stages{container-type:inline-size;} body.supplier #app .project-stages>.supplier-delete-square{font-size:clamp(11px,4cqw,22px);font-weight:700;line-height:1.2;}
body.supplier #app .project-stages>.supplier-delete-square{flex-direction:column;padding:6px;} body.supplier #app .supplier-delete-icon{font-size:clamp(20px,6cqw,34px);line-height:1;} body.supplier #app .supplier-delete-label{}
/* Restrained outline icons and an identical explicit height for all four tiles. */
body.supplier #app .project-stages>.supplier-header-square,
body.supplier #app .project-stages>.quote-upload{height:max(48px,calc((100cqw - 12px)/8));min-height:0;aspect-ratio:auto;overflow:hidden;}
body.supplier #app .project-stages>.supplier-delete-square{justify-content:center;gap:4px;}
body.supplier #app .supplier-action-icon{width:26px;height:26px;flex:none;color:#42556b;}
body.supplier #app .supplier-delete-label{font-size:11px;font-weight:600;line-height:1.1;}
/* Customer header follows the supplier's visual principles, preserving its actions. */
body.customer #app .customer-project-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch;}
/* Shared outer dimensions for both project headers and both workspace views. */
body:is(.supplier,.customer) #app :is(.supplier-project-row,.customer-project-card){box-sizing:border-box;width:100%;max-width:100%;min-width:0;}
@media(max-width:650px){body:is(.supplier,.customer) #app :is(.supplier-project-row,.customer-project-card){gap:12px;}}
body.customer #app .customer-header-process,body.customer #app .customer-header-details{display:flex;flex-direction:column;gap:8px;min-width:0;}
body.customer #app .customer-header-process>.project-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto 1fr;gap:4px;flex:1;min-width:0;container-type:inline-size;}
body.customer #app .project-stages>.stage-action{grid-row:1;margin:0;width:100%;min-width:0;padding:3px 4px;border:0;border-radius:12px;font:inherit;font-size:11px;font-weight:700;white-space:normal;}
body.customer #app .project-stages>.project-send{grid-column:1;}
body.customer #app .project-stages>.close-project{grid-column:4;}
body.customer #app .project-stages>.stage-unavailable{background:#edf0f4!important;color:#697586!important;box-shadow:inset 0 0 0 2px #c6ced8!important;opacity:1;}
body.customer #app .project-stages>.stage-waiting{background:#fff0c2!important;color:#775300!important;box-shadow:inset 0 0 0 2px #d5a946!important;}
body.customer #app .project-stages>.close-project.stage-waiting{background:#f8d8d4!important;color:#962e27!important;box-shadow:inset 0 0 0 2px #ce736b!important;}
body.customer #app .project-stages>.stage-complete{background:#d7eaff!important;color:#124c91!important;box-shadow:inset 0 0 0 2px #87b5eb!important;opacity:1;}
body.customer #app .project-stages>.customer-header-tile{grid-row:2;align-self:end;justify-self:stretch;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;width:100%;min-width:0;max-width:100%;height:max(48px,calc((100cqw - 12px)/8));box-sizing:border-box;margin:0;padding:6px;border-radius:12px;white-space:normal;overflow-wrap:anywhere;font-size:11px;overflow:hidden;}
body.customer #app .customer-title-tile{grid-column:1;position:relative;background:#fff;border-color:#b5cee9;}
body.customer #app .customer-message-tile{grid-column:2;position:relative;}
body.customer #app .customer-delete-tile{grid-column:3;}
body.customer #app .customer-copy-tile{grid-column:4;}
body.customer #app .customer-title-tile .shared-project-name{white-space:normal;text-align:center;padding:10px 0;}
body.customer #app .customer-title-tile .shared-project-number{position:absolute;top:5px;left:6px;}
body.customer #app .customer-action-icon{width:26px;height:26px;flex:none;color:#42556b;}
body.customer #app .customer-message-tile>.unread-badge{position:absolute;top:5px;right:5px;}
body.customer #app .customer-header-details>.customer-stock-indicators{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;}
body.customer #app .customer-header-details>.project-delivery-row{width:100%;margin:0;box-sizing:border-box;}
body.customer #app .customer-header-details>.customer-project-summary{flex-wrap:wrap;margin: auto 0 0;}
body.customer #app .customer-header-details>.customer-project-summary>*{flex:1 1 0;min-width:0;}
@media(max-width:650px){body.customer #app .customer-project-card{grid-template-columns:minmax(0,1fr);}}
body.customer #app .customer-header-process>.project-stages>:is(.stage-action,span){grid-row:1!important;}
body.customer #app .customer-header-process>.project-stages>:nth-child(1){grid-column:1!important;}
body.customer #app .customer-header-process>.project-stages>:nth-child(2){grid-column:2!important;}
body.customer #app .customer-header-process>.project-stages>:nth-child(3){grid-column:3!important;}
body.customer #app .customer-header-process>.project-stages>:nth-child(4){grid-column:4!important;}
body.customer #app .project-stages>.customer-header-tile{}
body.customer #app .customer-header-details>.customer-project-summary{flex:none!important;height:80px;min-height:0;align-items:stretch;}
body.customer #app .customer-header-details>.customer-project-summary>*{height:80px;min-height:0;padding:8px;box-sizing:border-box;}
body.customer #app .customer-header-details .quote-download img{height:48px!important;max-height:48px!important;width:auto!important;object-fit:contain;}
body.customer #app .customer-header-details .quote-download{display:flex;align-items:center;justify-content:center;overflow:hidden;}
body.customer #app .project-stages>.customer-title-tile{max-height:none!important;min-height:0;display:flex!important;}
body.customer #app .inline-project-form{margin-bottom:28px;padding-bottom:20px;border-bottom:2px solid var(--mechatro-contrast-border);}
/* Partner totals share the compact project-state appearance in both roles. */
body:is(.supplier,.customer) #app .company-stage-summary>span{align-items:center;justify-content:center;border:0;border-radius:12px;font-size:11px;font-weight:700;line-height:1.5;}
body:is(.supplier,.customer) #app .company-stage-summary>span.summary-state-present{background:#d7eaff;color:#124c91;box-shadow:inset 0 0 0 1px #87b5eb;}
body:is(.supplier,.customer) #app .company-stage-summary>span.summary-state-empty{}
body:is(.supplier,.customer) #app .company-stage-summary>span>span,
body:is(.supplier,.customer) #app .company-stage-summary>span>strong{display:inline;font-size:inherit;font-weight:inherit;line-height:inherit;margin:0;}
body:is(.supplier,.customer) #app .company-stage-summary>span.summary-state-empty{background:#d7eaff;color:#124c91;box-shadow:inset 0 0 0 1px #87b5eb;}
/* Equal summary boxes with counts above consistently sized, fully visible labels. */
body:is(.supplier,.customer) #app .company-all-summaries{display:grid;gap:4px;align-items:stretch;min-width:0;}
body:is(.supplier,.customer) #app .company-all-summaries>.company-stage-summary{display:contents;}
body:is(.supplier,.customer) #app .company-stage-summary>span{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;box-sizing:border-box;white-space:normal;text-align:center;overflow-wrap:normal;}
body:is(.supplier,.customer) #app .company-stage-summary>span>strong{order:-1;flex:none;height:auto;}
body:is(.supplier,.customer) #app .company-stage-summary>span>span{}
@media(max-width:1050px){body:is(.supplier,.customer) #app .company-all-summaries{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;}}
/* Compact partner counters: each caption stays on a single line. */
body:is(.supplier,.customer) #app .company-all-summaries{grid-template-columns:repeat(9,minmax(0,1fr));container-type:inline-size;}
body:is(.supplier,.customer) #app .company-stage-summary>span{min-height:36px;padding:3px 2px;gap:1px;}
body:is(.supplier,.customer) #app .company-stage-summary>span>span{white-space:nowrap;overflow-wrap:normal;font-size:clamp(6px,.78cqw,10px);line-height:1.3;}
body:is(.supplier,.customer) #app .company-stage-summary>span>strong{font-size:11px;line-height:1.2;}
body.customer #app .supplier-grid .company-all-summaries>.company-stage-summary>span{min-height:36px;}
/* Shared partner-name frames and compact message buttons in both roles. */
body:is(.supplier,.customer) #app :is(.company-request,.supplier-card) .partner-company-name{display:flex;align-items:center;min-height:36px;box-sizing:border-box;padding:6px 10px;border:1px solid #b5cee9;border-radius:12px;background:#edf4fb;}
body:is(.supplier,.customer) #app :is(.company-request,.supplier-card)>:is(.partner-message-button,.supplier-envelope){display:flex;align-items:center;justify-content:center;position:relative;width:44px;min-width:0;max-width:44px;height:36px;min-height:36px;margin:0;padding:4px;box-sizing:border-box;border:1px solid #87b5eb;border-radius:12px;color:#124c91;}
body.supplier #app .company-request .company-message-count.message-envelope{display:contents;width:auto;min-width:0;height:auto;min-height:0;padding:0;border:0;background:transparent;}
body:is(.supplier,.customer) #app :is(.company-message-count.message-envelope,.supplier-envelope)>span:first-child{font-size:25px;line-height:1;color:inherit;}
body:is(.supplier,.customer) #app :is(.company-message-count.message-envelope,.supplier-envelope)>.unread-badge{position:absolute;right:-4px;top:-6px;min-width:16px;padding:2px 4px;border-radius:10px;background:#d73545;color:white;font-size:10px;line-height:1.2;}
/* Partner message tiles use the established pale green background. */
body:is(.supplier,.customer) #app :is(.company-request,.supplier-card)>:is(.partner-message-button,.supplier-envelope){background:#d1e8dd;border-color:#aacdb9;}
/* Customer quote and copy action exchange their existing header positions. */
body.customer #app .project-stages>.customer-quote-tile{grid-column:4;max-height:none;}
body.customer #app .project-stages>.customer-quote-tile img{height:30px!important;max-height:30px!important;width:auto!important;object-fit:contain;}
body.customer #app .project-stages>.customer-quote-tile a{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.customer #app .customer-header-details>.customer-project-summary>.customer-summary-copy{margin:0;border-radius:12px;font-size:11px;white-space:normal;background:#eaf2fe;border-color:#d4e4f9;}
/* Keep the customer commission contents inside the common summary height. */
body.customer #app .customer-header-details>.customer-project-summary{display:grid;}
body.customer #app .customer-header-details>.customer-project-summary:has(.project-commission){}
body.customer #app .customer-project-summary>.project-commission{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;gap:2px;padding:6px;overflow:hidden;}
body.customer #app .customer-project-summary>.project-commission>small{margin:0;font-size:10px;line-height:1.2;}
body.customer #app .customer-project-summary>.project-commission>strong{margin:0;font-size:14px;line-height:1.2;overflow-wrap:anywhere;}
body.customer #app .customer-project-summary>.project-commission>.commission-settled{display:flex;align-items:center;gap:4px;width:100%;margin:0;padding:0;font-size:10px;line-height:1.2;}
body.customer #app .customer-project-summary .commission-settled>input[type=checkbox]{position:static;flex:0 0 14px;width:14px;min-width:14px;height:14px;min-height:14px;margin:0;padding:0;}
/* Fill the quote tile with a stable, proportionally scaled PDF thumbnail. */
body.customer #app .project-stages>.customer-quote-tile{position:relative;padding:3px;gap:0;}
body.customer #app .project-stages>.customer-quote-tile>small{display:none;}
body.customer #app .project-stages>.customer-quote-tile img.pdf-preview{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0;object-fit:contain;border-radius:8px;}
/* Customer visibility is password-confirmed; blank commission slots retain their shape. */
body.customer #app .customer-project-summary>.project-commission>.commission-settled{justify-content:flex-end;}
body.customer #app .commission-display-hidden{background:#edf0f4!important;border-color:#c6ced8!important;}
body.customer #app .commission-display-hidden>[hidden]{display:none!important;}
body.customer #app .customer-commission-control>input[type=checkbox]{position:absolute;top:7px;right:7px;width:14px;min-width:14px;height:14px;min-height:14px;padding:0;margin:0;}
.admin-firm-title{flex-wrap:wrap;margin-bottom:8px}.admin-firm-title h3{margin:0}.admin-firm-registrant{overflow-wrap:anywhere}
.admin-firm-registrant{font-size:14px;font-weight:700;color:#172b46;line-height:1.4;}
.account-role-buttons{display:flex;gap:6px;padding:0 0 12px;margin-bottom:5px;border-bottom:1px solid #38506b;grid-column:1/-1}.account-menu .account-role-buttons>.account-role-option{flex:1;min-width:0;margin:0;padding:8px 4px;border:1px solid #71869c;border-radius:8px;text-align:center;font-size:11px;font-weight:600;white-space:nowrap;color:#e2ebf7;background:#233b53}.account-menu .account-role-buttons>.role-customer[aria-pressed=true]{background:#d0e1f7;color:#172b46;border-color:#98b9e5}.account-menu .account-role-buttons>.role-supplier[aria-pressed=true]{background:#d1e8dd;color:#173c2c;border-color:#9abfa9}.account-menu .account-role-buttons>button:disabled{opacity:.5;cursor:not-allowed}.account-menu .account-role-buttons>button:focus-visible{outline:2px solid white;outline-offset:2px}
.entry-home .entry-roles.entry-single{gap:12px}
.public-directory-entry{text-align:center;background:#e9eef3;color:#173957;border:1px solid #829ab3;border-radius:8px;padding:20px 12px;font-size:14px;text-decoration:none}
.public-directory{max-width:1000px;margin:24px auto;padding:24px}
.public-company-search{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.public-company-search input{flex:1;min-width:180px}
.public-company-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #ccd7e2;border-radius:10px;margin:10px 0;background:#f6f9fc}.public-company-row small{display:block;margin-top:6px}
@media(max-width:500px){.public-company-row{flex-wrap:wrap}.public-directory{padding:16px}.public-company-search>*{width:100%}}
.public-company-results{max-height:60vh;overflow-y:auto;overscroll-behavior:contain;padding-right:6px}.public-company-row>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
/* Shared gallery for public cards, partner details and both company roles. */
.supplier-presentation .presentation-photos{display:flex;flex-wrap:nowrap;gap:14px;max-width:100%;overflow-x:auto;scroll-snap-type:x proximity;padding:8px 0 14px;margin:22px 0 0;}
.supplier-presentation .presentation-photo{position:relative;flex:0 0 min(320px,85vw);width:320px;aspect-ratio:4/3;border:1px solid #cad9e9;border-radius:10px;overflow:hidden;background:#edf3fa;scroll-snap-align:start;}
.supplier-presentation .presentation-photo img{display:block;width:100%;height:100%;object-fit:contain;}
.supplier-presentation .presentation-photo button{position:absolute;right:5px;top:5px;width:28px;height:28px;padding:0;background:white;border-radius:50%;font-size:21px;}
.supplier-presentation .presentation-photos:empty{display:none;}
.company-details .supplier-presentation{min-width:0;max-width:100%;}
.presentation-card-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;}
.presentation-card-identity{min-width:0;overflow-wrap:anywhere;}.presentation-card-identity h2{margin:0 0 8px}.presentation-card-identity p{margin:0;}
.presentation-card-header .company-logo-preview{flex:0 0 auto;margin:0;padding:0;text-align:right;}
.presentation-card-header .company-logo-preview img{max-width:160px!important;max-height:90px!important;}
@media(max-width:500px){.presentation-card-header{gap:12px}.presentation-card-header .company-logo-preview img{max-width:100px!important;max-height:70px!important;}}
.public-directory-entry{display:flex;align-items:center;justify-content:center;gap:10px;}
.public-search-icon{display:inline-block;position:relative;flex:0 0 13px;width:13px;height:13px;border:2px solid currentColor;border-radius:50%;box-sizing:border-box;margin-right:3px;}
.public-search-icon::after{content:'';position:absolute;width:6px;height:2px;background:currentColor;right:-5px;bottom:-3px;transform:rotate(45deg);border-radius:1px;}
.public-directory-cancel{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 18px;border:1px solid var(--mechatro-contrast-border,#829ab3);border-radius:8px;background:var(--mechatro-contrast-bg,#d6e1ed);color:#173957;font:inherit;font-weight:600;cursor:pointer;}
.public-directory-cancel:hover{filter:brightness(.96);}
.public-directory-cancel:focus-visible{outline:2px solid #185db5;outline-offset:3px;}
.login-flip-card{display:grid;perspective:1400px;min-width:0;}
.login-flip-card>.login-flip-front,.login-flip-card>.login-flip-back{grid-area:1/1;backface-visibility:hidden;transition:transform .6s ease;transform-origin:center;box-sizing:border-box;width:100%;}
.login-flip-card>.login-flip-front{transform:rotateY(0deg);pointer-events:none;align-self:stretch;}
.login-flip-card>.login-flip-back{transform:rotateY(-180deg);margin:0;max-width:none;padding:24px;border-radius:24px;background:#edf4fc;box-shadow:0 16px 40px #0004;min-height:416px;}
.login-flip-card.is-flipped>.login-flip-front{transform:rotateY(180deg);}
.login-flip-card.is-flipped>.login-flip-back{transform:rotateY(0deg);}
.entry-login-flipped .login-flip-back h1{margin:10px 0 18px;font-size:28px;}
.entry-login-flipped .login-flip-back input{box-sizing:border-box;max-width:100%;}
@media(prefers-reduced-motion:reduce){.login-flip-card>.login-flip-front,.login-flip-card>.login-flip-back{transition:none;}}
/* Reserve room for the legal footer on notebook screens. */
@media(min-width:768px){
 body.entry-home>#app{box-sizing:border-box;min-height:calc(100svh - 48px);padding:20px 28px;gap:16px;}
 body.entry-home>.public-legal-links{box-sizing:border-box;min-height:48px;padding:12px 16px;}
 .entry-home .entry-roles.entry-single{margin-top:clamp(20px,calc(100svh - 650px),180px);}
}
@media(min-width:768px) and (max-height:800px){
 .entry-home .entry-roles.entry-single{max-width:420px;}
 .entry-home .entry-role h1{font-size:28px;padding:10px;}
 .login-flip-card>.login-flip-back{min-height:0;padding:16px 22px;}
 .entry-login-flipped .login-flip-back h1{margin:6px 0 12px;font-size:25px;}
 .entry-login-flipped .login-flip-back form{gap:10px;}
 .entry-login-flipped .login-secondary-actions{margin-top:10px;}
}
.entry-home #app>.entry-introduction{box-sizing:border-box;width:100%;max-width:1060px;margin-left:auto;margin-right:auto;padding:14px 22px;border:0;background:transparent;color:#f0f5fa;line-height:1.5;font-size:14px;}
.entry-introduction h2{margin:0 0 8px;font-size:20px;color:#fff;text-align:left;text-align-last:auto;text-wrap:balance;}
.entry-introduction p{margin:6px 0 0;text-align:justify;text-align-last:left;text-wrap:balance;hyphens:auto;}
@media(min-width:768px) and (max-height:720px){.entry-home #app>.entry-introduction{padding:10px 18px;font-size:13px;line-height:1.4;}.entry-introduction h2{font-size:18px;margin-bottom:6px;}}
/* Mobile cards size to their contents instead of squeezing desktop rows. */
@media(max-width:650px){
 body.supplier #app #supplier-project-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:0 0 14px;}
 body.supplier #app #supplier-project-summary>div{display:flex;flex-direction:column;justify-content:flex-start;gap:6px;min-width:0;min-height:100px;padding:10px;}
 body.supplier #app #supplier-project-summary>div>:is(span,small){font-size:12px;line-height:1.35;overflow-wrap:anywhere;}
 body.supplier #app #supplier-project-summary>div>strong{margin:0;padding:0;font-size:18px;line-height:1.3;overflow-wrap:anywhere;}
 body:is(.supplier,.customer) #app .company-all-summaries{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
 body:is(.supplier,.customer) #app .company-stage-summary>span{min-height:58px;padding:5px 3px;gap:3px;}
 body:is(.supplier,.customer) #app .company-stage-summary>span>span{font-size:11px;line-height:1.3;white-space:normal;overflow-wrap:anywhere;}
 body:is(.supplier,.customer) #app .company-stage-summary>span>strong{font-size:13px;line-height:1.2;}
 body:is(.supplier,.customer) #app :is(.company-request,.supplier-card) .partner-company-name{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;}
 body.customer #app .customer-header-details>.customer-project-summary,
 body.customer #app .customer-header-details>.customer-project-summary:has(.project-commission){height:auto;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 body.customer #app .customer-header-details>.customer-project-summary>*{height:auto;min-height:96px;padding:8px;}
 body.customer #app .customer-header-details>.customer-project-summary>.project-total{display:flex;flex-direction:column;justify-content:space-between;gap:8px;}
 body.customer #app .customer-header-details>.customer-project-summary>.project-total>small{font-size:12px;line-height:1.35;margin:0;}
 body.customer #app .customer-header-details>.customer-project-summary>.project-total>strong{font-size:18px;line-height:1.3;margin:0;overflow-wrap:anywhere;}
 body.customer #app .customer-header-details>.customer-project-summary>.customer-summary-copy{min-height:40px;grid-column:1/-1;font-size:12px;}
 body.supplier #app .supplier-header-left>.project-profit-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 body.supplier #app .supplier-header-left>.project-profit-summary>div{min-width:0;height:auto;min-height:88px;padding:8px;box-sizing:border-box;}
 body.supplier #app .supplier-header-left>.project-profit-summary>div>strong{font-size:18px;line-height:1.3;overflow-wrap:anywhere;}
 body.supplier #app .supplier-header-left>.project-profit-summary>div>:is(span,small){font-size:12px;line-height:1.35;}
 body.customer #app .customer-header-details>.customer-stock-indicators,
 body.supplier #app .supplier-header-left>.project-stock-state{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
 body.customer #app .customer-stock-indicators>span,
 body.supplier #app .supplier-header-left>.project-stock-state>button{min-height:28px;padding:4px;font-size:11px;box-sizing:border-box;}
 body:is(.supplier,.customer) #app .project-delivery-row{gap:6px;font-size:12px;}
 body:is(.supplier,.customer) #app .project-delivery-row label{margin-left:0;max-width:100%;font-size:12px;}
 body:is(.supplier,.customer) #app .project-stages>:is(span,.stage-action){font-size:10px;padding-left:2px;padding-right:2px;}
 body:is(.supplier,.customer) #app .project-stages>.shared-project-title{display:flex!important;position:relative;padding:12px 3px 3px;}
 body:is(.supplier,.customer) #app .project-stages>.shared-project-title>.shared-project-number{position:absolute;left:4px;top:2px;font-size:10px;line-height:1;}
 body:is(.supplier,.customer) #app .project-stages>.shared-project-title>.shared-project-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:26px;padding:0;font-size:10px;line-height:13px;white-space:normal;}
 body:is(.supplier,.customer) #app>.customer-page-heading{display:flex;flex-wrap:wrap;gap:10px;}
 body:is(.supplier,.customer) #app>.customer-page-heading>.page-heading-left{flex:0 0 auto;}
 body:is(.supplier,.customer) #app>.customer-page-heading.project-list-heading>.history-tabs{margin-left:auto;flex:0 0 105px;align-self:flex-end;}
 body:is(.supplier,.customer) #app>.customer-page-heading>:is(h2,#project-heading,#supplier-section-title){flex:1 1 150px;min-width:0;max-width:100%;margin:0;font-size:18px!important;white-space:normal;overflow-wrap:anywhere;}
 body.customer #app #project-heading .detail-company-name{font-size:18px;white-space:normal;}
 body:is(.supplier,.customer) #app :is(.company-request,.supplier-card)>.supplier-name-actions{flex-wrap:wrap;}
 body:is(.supplier,.customer) #app .project-stages :is(.supplier-delete-label,.customer-delete-label){font-size:9px;white-space:nowrap;line-height:1.2;}
}
/* Identical price-tile dimensions across supplier and customer project headers. */
body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary){--price-tile-height:60px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:auto;min-height:0;align-items:stretch;}
body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary):has(.project-commission){grid-template-columns:repeat(4,minmax(0,1fr));}
body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary)>*{box-sizing:border-box;grid-column:auto;width:100%;height:auto;min-height:var(--price-tile-height);padding:10px 5px;}
@media(max-width:650px){
 body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary),
 body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary):has(.project-commission){--price-tile-height:88px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary)>*{grid-column:auto;min-height:var(--price-tile-height);padding:8px;}
}
body.customer #app .customer-header-details>.customer-project-summary>.customer-summary-copy{grid-column:auto;min-height:var(--price-tile-height);height:auto;}
body:is(.supplier,.customer) #app :is(.supplier-project-row,.customer-project-card){border-width:1px;}
@media(min-width:651px){
 body.customer #app .customer-header-details>.customer-project-summary>.project-total{display:flex;flex-direction:column;justify-content:space-between;gap:0;}
 body.customer #app .customer-header-details>.customer-project-summary>.project-total>small{font-size:10px;line-height:1.25;margin:0;}
 body.customer #app .customer-header-details>.customer-project-summary>.project-total>strong{font-size:14px;line-height:1.25;margin:4px 0 0;}
}
body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary):has(.project-commission){}
@media(max-width:650px){body:is(.supplier,.customer) #app :is(.supplier-project-row,.customer-project-card):has(.project-commission){}}
body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary)>:is(div,button){min-height:var(--price-tile-height);}
@media(min-width:651px){body:is(.supplier,.customer) #app :is(.supplier-project-row,.customer-project-card):has(.project-commission){}}
/* Compact project headers retain the shared tile sizes in both roles. */
body:is(.supplier,.customer) #app :is(.supplier-project-row,.customer-project-card){min-height:190px;padding:10px;gap:8px 16px;}
body:is(.supplier,.customer) #app :is(.supplier-header-left,.supplier-header-right,.customer-header-process,.customer-header-details){gap:6px;}
body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary):has(.project-commission){--price-tile-height:96px;}
body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary)>:is(div,button){padding:6px;}
body:is(.supplier,.customer) #app .project-commission{display:flex;flex-direction:column;justify-content:space-between;gap:2px;}
body:is(.supplier,.customer) #app .project-commission .commission-rate{margin:0;gap:3px;font-size:10px;line-height:1.2;}
body:is(.supplier,.customer) #app .project-commission .commission-rate input{height:22px;min-height:0;padding:2px 4px;margin:0;font-size:11px;line-height:1.2;}
body:is(.supplier,.customer) #app .project-commission>strong{margin:0;font-size:14px;line-height:1.2;}
body:is(.supplier,.customer) #app .project-commission .commission-settled{margin:0;font-size:10px;line-height:1.2;gap:3px;}
body:is(.supplier,.customer) #app .project-commission .commission-settled input{width:14px;min-width:14px;height:14px;min-height:0;margin:0;padding:0;}
@media(min-width:651px){body:is(.supplier,.customer) #app :is(.supplier-project-row,.customer-project-card):has(.project-commission){min-height:200px;}}
@media(max-width:650px){
 body:is(.supplier,.customer) #app :is(.supplier-project-row,.customer-project-card){min-height:400px;}
 body:is(.supplier,.customer) #app :is(.supplier-project-row,.customer-project-card):has(.project-commission){min-height:440px;}
 body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary){--price-tile-height:80px;gap:6px;}
 body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary):has(.project-commission){--price-tile-height:96px;}
}
/* Customer totals fill the entire details column with no unused grid cell. */
body.customer #app .customer-header-details>.customer-project-summary{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:none;}
body.customer #app .customer-header-details>.customer-project-summary:has(.project-commission){grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:650px){
 body.customer #app .customer-header-details>.customer-project-summary:has(.project-commission){grid-template-columns:repeat(2,minmax(0,1fr));}
 body.customer #app .customer-header-details>.customer-project-summary:has(.project-commission)>.customer-summary-copy{grid-column:1/-1;min-height:40px;}
}
.company-operational-address[hidden]{display:none!important;}
/* Equal registration and recovery actions at the bottom of the login card. */
.login-secondary-actions{display:grid;align-items:stretch;gap:8px;}
.login-secondary-actions>button{box-sizing:border-box;width:100%;margin:0;font-size:12px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;}
/* Platform-admin overview: customer activity sits immediately left of storage. */
.firm-card-columns.has-customer-activity{grid-template-columns:minmax(0,1fr) repeat(2,minmax(200px,260px));gap:16px;align-items:stretch;}
.firm-activity-metric{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #829ab355;}
.firm-activity-metric>strong{font-size:22px;white-space:nowrap;}
.firm-advanced-actions{margin-top:12px;}
@media(max-width:1150px){.firm-card-columns.has-customer-activity{grid-template-columns:repeat(2,minmax(0,1fr));}.firm-card-columns.has-customer-activity>.firm-details{grid-column:1/-1;}}
@media(max-width:550px){.firm-card-columns.has-customer-activity{grid-template-columns:minmax(0,1fr);}}
.firm-daily-request-limit{display:flex;flex-direction:column;gap:8px;margin-top:4px;}.firm-daily-request-limit label{font-size:12px;line-height:1.4;}.firm-daily-request-limit input{box-sizing:border-box;width:100%;min-width:0;margin-top:6px;}.firm-daily-request-limit button{margin:0;align-self:flex-start;}
/* Compact activity summary and a single-row daily-limit control. */
.firm-customer-activity{padding:12px;gap:5px;font-size:12px;}
.firm-customer-activity>.firm-activity-metric{padding:4px 0;gap:8px;}
.firm-customer-activity .firm-activity-metric>strong{font-size:18px;}
.firm-customer-activity .firm-daily-request-limit{grid-template-columns:minmax(0,1fr) auto;margin-top:2px;}
.firm-customer-activity .firm-daily-request-limit label{min-width:0;font-size:11px;}
.firm-customer-activity .firm-daily-request-limit input{height:32px;min-height:32px;margin-top:4px;padding:5px 6px;font-size:12px;}
.firm-customer-activity .firm-daily-request-limit button{align-self:end;min-height:32px;padding:5px 8px;font-size:11px;}
.firm-customer-activity .firm-daily-request-limit>[role=status]{grid-column:1/-1;}
.firm-customer-activity .firm-daily-request-limit>[role=status]:empty{display:none;}
/* The caption sits above one precisely aligned input/action row. */
.firm-customer-activity .firm-daily-request-limit{display:flex;flex-direction:column;gap:4px;align-items:stretch;}
.firm-daily-request-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch;}
.firm-customer-activity .firm-daily-request-controls>input,.firm-customer-activity .firm-daily-request-controls>button{box-sizing:border-box;height:32px;min-height:32px;max-height:32px;margin:0;align-self:stretch;}
.company-settings-header:has(.company-header-actions){flex-wrap:wrap;max-width:960px;box-sizing:border-box;}
.company-settings-header .company-header-actions{justify-content:flex-end;}
.company-settings-header .company-header-actions[hidden]{display:none!important;}
@media(max-width:600px){.company-settings-header .company-header-actions{flex-basis:100%;}}

.company-identity-group + .company-identity-group{margin-top:68px;}
@media(max-width:650px){.company-identity-group + .company-identity-group{margin-top:56px;}}

.advanced-settings-form{display:flex;flex-direction:column;gap:10px;}
.advanced-role-options{display:flex;flex-direction:column;gap:10px;margin:0;padding:12px;border:1px solid #cad8e8;border-radius:8px;min-width:0;}
.advanced-setting-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:8px;border:1px solid transparent;border-radius:6px;}
.advanced-setting-row input[type=checkbox]{display:inline-block;flex:0 0 auto;width:18px;height:18px;margin:0;}
.advanced-setting-row small{flex-basis:100%;}
.advanced-setting-row.is-requested,.company-advanced-button.has-advanced-request{color:#a51f2c;background:#fff0f1;border-color:#cf3c4b;}
.advanced-request-note{color:#a51f2c;font-weight:600;}
.advanced-settings-form>.company-form-actions{flex-wrap:wrap;}

.company-advanced-settings{max-width:960px;}

.advanced-setting-label{display:inline-flex;align-items:center;gap:8px;margin:0;}
.advanced-setting-row>.advanced-current-status{flex-basis:auto;white-space:nowrap;}
.advanced-request-action{margin-left:auto;font-size:12px;padding:5px 8px;}
.advanced-setting-row>.advanced-request-note{flex-basis:100%;}

.company-advanced-settings .advanced-request-action{margin-left:0;flex:0 0 160px;text-align:center;}

.advanced-setting-summary{display:flex;align-items:center;gap:8px;min-width:0;}.advanced-setting-summary>.advanced-current-status{flex-basis:auto;white-space:nowrap;}

#modal .advanced-request-action{margin-left:0;flex:0 0 160px;text-align:center;white-space:normal;}

#account.account-menu .admin-advanced-request-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:8px;padding:0 5px;border-radius:10px;background:#bf2638;color:#fff;font-size:12px;font-weight:700;vertical-align:middle;}

#modal.advanced-settings-dialog .closebar{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:start;gap:8px;}#modal.advanced-settings-dialog .closebar h2{grid-column:2;text-align:center;min-width:0;overflow-wrap:anywhere;}#modal.advanced-settings-dialog .closebar>button{grid-column:3;width:36px;margin:0;padding:6px;}#modal.advanced-settings-dialog .advanced-company-name{display:block;margin-top:6px;font-size:15px;font-weight:500;line-height:1.4;}

.customer-bonita{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:14px 0;padding:12px 16px;border:1px solid var(--mechatro-contrast-border);border-radius:8px;background:var(--mechatro-contrast-bg);}.customer-bonita h3{margin:0;font-size:15px;}.customer-bonita strong{font-size:20px;}.customer-bonita small{flex-basis:100%;}

.customer-bonita-stars{position:relative;display:inline-block;flex:none;color:#687789;font-size:26px;line-height:1.2;white-space:nowrap;letter-spacing:2px;}.customer-bonita-stars-fill{position:absolute;inset:0 auto 0 0;overflow:hidden;color:#b97800;pointer-events:none;}
.company-settings-header:has(.company-header-actions){display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;}.company-settings-header:has(.company-header-actions)>h1{grid-column:2;margin:0;text-align:center;}.company-settings-header:has(.company-header-actions)>.app-back-button{grid-column:1;justify-self:start;}.company-settings-header .company-header-actions{grid-column:3;margin-left:0;justify-self:end;flex-wrap:nowrap;}@media(max-width:600px){.company-settings-header .company-header-actions:has(button[type=submit]:not([hidden])){grid-column:1/-1;grid-row:2;flex-wrap:wrap;}}

#modal.company-details .closebar>.customer-bonita{margin:0;padding:6px 12px;gap:6px 12px;min-width:0;}#modal.company-details .closebar>button{flex:none;}#modal.company-details .closebar>.customer-bonita small{flex-basis:auto;}@media(max-width:480px){#modal.company-details .closebar>.customer-bonita{padding:6px 8px;gap:4px 8px;}#modal.company-details .closebar>.customer-bonita h3{font-size:13px;}#modal.company-details .closebar .customer-bonita-stars{font-size:22px;}}
#modal.company-details .closebar>button{order:-1;margin-left:0;margin-right:auto;}#modal.company-details .closebar>.customer-bonita{margin-left:auto;}
#modal.gallery>a.button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;font:inherit;border:1px solid #cad8e8;background:white;color:#245d9f;padding:9px 14px;border-radius:7px;cursor:pointer;text-decoration:none;}#modal.gallery>a.button:hover{filter:brightness(.95);}
body.customer #app .project-stages>.customer-quote-tile:not(.quote-ready){display:flex;align-items:center;justify-content:center;padding:8px;}body.customer #app .project-stages>.customer-quote-tile:not(.quote-ready)>small{display:block;text-align:center;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.35;}

body:is(.supplier,.customer) #app .project-stages>.project-name-under-stages{grid-row:2;min-width:0;text-align:center;font-weight:700;line-height:1.35;overflow-wrap:anywhere;}@media(max-width:600px){body:is(.supplier,.customer) #app .project-stages>.project-name-under-stages{}}
body:is(.supplier,.customer) #app .project-stages>.project-name-under-stages{align-self:end;margin:0 0 calc(max(48px, (100cqw - 12px)/8) + 8px);border:1px solid var(--mechatro-contrast-border);border-radius:8px;background:var(--mechatro-contrast-bg);padding:8px;font-size:15px;}
body:is(.supplier,.customer) #app .project-stages>.shared-project-title>.shared-project-name{font-size:16px;line-height:1.2;max-height:none;-webkit-line-clamp:unset;}
@media(max-width:600px){body:is(.supplier,.customer) #app .project-stages>.project-name-under-stages{padding:6px;font-size:13px;}body:is(.supplier,.customer) #app .project-stages>.shared-project-title>.shared-project-name{font-size:13px;line-height:1.2;}}
body:is(.supplier,.customer) #app .project-stages>.project-name-under-stages{grid-column:1/-1;}
body:is(.supplier,.customer) #app .project-stages>.project-name-under-stages{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;}body:is(.supplier,.customer) #app .project-frame-number{grid-column:1;text-align:left;}body:is(.supplier,.customer) #app .project-frame-name{grid-column:2;min-width:0;text-align:center;overflow-wrap:anywhere;}body:is(.supplier,.customer) #app .project-name-under-stages::after{content:'';width:1.5em;}body:is(.supplier,.customer) #app .shared-project-title>.shared-project-name:only-child{grid-column:1/-1;}
body:is(.supplier,.customer) #app .project-stages .project-name-under-stages>.project-frame-name{display:block;min-width:0;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin:0;font-size:17px;font-weight:700;line-height:1.35;color:inherit;white-space:normal;overflow-wrap:anywhere;}@media(max-width:600px){body:is(.supplier,.customer) #app .project-stages .project-name-under-stages>.project-frame-name{font-size:15px;}}
body.supplier #app :is(#supplier-projects,#supplier-detail-card) .project-stages .project-name-under-stages>.project-frame-name{display:block;background:transparent;border:0;outline:0;box-shadow:none;border-radius:0;padding:0;margin:0;font-size:17px;font-weight:700;line-height:1.35;white-space:normal;color:inherit;}@media(max-width:600px){body.supplier #app :is(#supplier-projects,#supplier-detail-card) .project-stages .project-name-under-stages>.project-frame-name{font-size:15px;}}
body.customer #app .customer-project-summary>.customer-summary-copy{font-weight:700;line-height:1.2;}@media(max-width:600px){body.customer #app .customer-project-summary>.customer-summary-copy{}}
body.customer #app .customer-project-summary>.customer-summary-copy{font-size:20px;}@media(max-width:600px){body.customer #app .customer-project-summary>.customer-summary-copy{font-size:17px;}}
body:is(.supplier,.customer) #app .history-tabs button,body:is(.supplier,.customer) #app .history-tabs button[aria-pressed=true]{background:#fff;border-color:#cad8e8;color:#245d9f;}body:is(.supplier,.customer) #app .history-tabs button:nth-child(2)[aria-pressed=true]{background:#b91c1c;border-color:#b91c1c;color:#fff;}
body.customer #app #project-search{border:2px solid var(--mechatro-contrast-border);border-radius:9px;background-color:#f5f8fc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%2342556b' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;background-size:22px 22px;padding:11px 14px 11px 44px;box-shadow:0 2px 5px #172b4610;}body.customer #app #project-search:focus{border-color:#245d9f;background-color:white;}
body.customer #app #project-dialog.inline-project-form{margin-top:24px;margin-bottom:24px;}body.customer #app #project-form .new-project-bottom-row{gap:12px;}

.project-delivery-row .delivery-priority{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}.project-delivery-row .delivery-priority button{flex:1;margin:0;padding:5px 8px;font-size:12px;font-weight:700;white-space:normal;}.project-delivery-row .delivery-standard[aria-pressed=true]{background:#d7ecdf;border-color:#86b698;color:#24553c;}.project-delivery-row .delivery-urgent[aria-pressed=true]{background:#bf2638;border-color:#a51b2b;color:white;}.project-delivery-row .delivery-priority button:disabled{opacity:1;cursor:default;}

body.customer #app .project-stages>.customer-header-tile{height:var(--project-action-height,60px)!important;min-height:var(--project-action-height,60px);max-height:none!important;}body.customer #app .project-stages>.project-name-under-stages{margin-bottom:calc(var(--project-action-height,60px) + 8px);}

body.supplier #app .project-stages>:is(.supplier-header-square,.quote-upload){height:var(--project-action-height,60px)!important;min-height:var(--project-action-height,60px);max-height:none!important;}body.supplier #app .project-stages>.project-name-under-stages{margin-bottom:calc(var(--project-action-height,60px) + 8px);}

body:is(.supplier,.customer) #app .project-stages>.project-name-under-stages{height:var(--project-name-height,auto);min-height:var(--project-name-height,0px);box-sizing:border-box;}

/* One company card in viewing and editing modes. */
#company-identity-form .company-profile-summary dd>label,#company-identity-form .company-inline-name>label{display:block;margin:0;font-size:0;}
#company-identity-form .company-profile-summary input{box-sizing:border-box;width:100%;min-width:0;margin:0;padding:4px 6px;border:1px solid transparent;border-radius:5px;background:transparent;color:inherit;font:inherit;font-size:16px;line-height:1.4;box-shadow:none;}
#company-identity-form .company-inline-name input{font-size:28px;font-weight:700;}
#company-identity-form.is-editing .company-profile-summary input{border-color:var(--mechatro-contrast-border);background:#fff;}
#company-identity-form .company-profile-summary input:disabled{opacity:1;-webkit-text-fill-color:inherit;}
#company-identity-form .company-profile-details dt{padding-top:5px;}
.company-inline-presentation .presentation-editor{padding-top:0;position:relative;}
.company-inline-presentation .presentation-editor textarea{box-sizing:border-box;display:block;resize:none;overflow:hidden;width:100%;min-height:36px;margin:0;padding:4px 6px;border:1px solid transparent;border-radius:5px;background:transparent;color:inherit;font:inherit;line-height:1.7;}
.company-inline-presentation.is-editing .presentation-editor textarea{border-color:var(--mechatro-contrast-border);background:#fff;}
.company-inline-presentation .presentation-editor>label{margin:16px 0 8px;font-size:1.17em;}
.company-inline-presentation .presentation-editor>small{position:absolute;margin:0;font-size:11px;}
.company-inline-presentation .presentation-upload-limit{visibility:hidden;}
.company-inline-presentation .presentation-editor>button{position:absolute;bottom:-36px;left:0;z-index:1;}
.company-inline-presentation .presentation-photos{}
.company-inline-presentation .company-logo-controls{}
@media(max-width:600px){.company-settings-header .company-header-actions{grid-column:1/-1;grid-row:2;min-height:40px;flex-wrap:wrap;}}

.company-inline-presentation .company-logo-controls{min-height:40px;margin:0;padding:0;border:0;gap:0;}
.company-inline-presentation .company-logo-controls>small{display:none;}

.company-inline-presentation .presentation-photo-actions{position:relative;display:flex;align-items:center;min-height:44px;margin-top:20px;}
.company-inline-presentation .presentation-photo-actions>button{position:static;margin:0;}
.company-inline-presentation .presentation-photos{margin-top:12px;}

.company-logo-image{position:relative;display:inline-block;line-height:0;}
.company-logo-image .company-logo-remove{position:absolute;right:5px;top:5px;width:28px;height:28px;padding:0;background:white;border-radius:50%;font-size:21px;line-height:1;z-index:1;}
/* Own company photographs: two columns, no horizontal carousel. */
.company-inline-presentation .presentation-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;overflow:visible;scroll-snap-type:none;max-width:100%;}
.company-inline-presentation .presentation-photo{width:100%;min-width:0;max-width:100%;flex:none;box-sizing:border-box;scroll-snap-align:none;}

.company-bonita-top{display:flex;justify-content:flex-end;align-items:flex-start;margin:0 0 12px;}
.company-bonita-top .customer-bonita{margin:0;padding:6px 12px;gap:6px 12px;max-width:100%;box-sizing:border-box;}
.company-bonita-top .customer-bonita small{flex-basis:auto;}

.login-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr));}

.login-secondary-actions>button{height:32px;min-height:32px;padding:4px 6px;}
.login form>button.login-submit{height:48px;min-height:48px;}

.project-delete.project-delete-request{background:#b91c1c!important;border-color:#991b1b!important;color:#fff!important;box-shadow:0 0 0 2px #fecaca;}

.project-delete.project-delete-decision{display:flex!important;gap:0!important;padding:0!important;overflow:hidden;min-width:0;}
.project-delete-decision>button{flex:1;min-width:0;min-height:100%;height:100%;padding:4px!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;font-size:11px!important;line-height:1.15;white-space:normal!important;}
.project-delete-decision>button+button{border-left:1px solid #fecaca!important;}
.project-delete-decision>button:hover{background:#991b1b!important;}
.project-delete.project-delete-decision{flex-direction:row!important;align-items:stretch!important;}.project-delete-decision>button{width:50%!important;}
/* Two equal centered customer toolbar tiles after removing commission. */
.customer-project-list-panel #project-list-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:640px;margin-left:auto;margin-right:auto;}
.customer-project-list-panel #new-project,.customer-project-list-panel .all-projects-summary>div:only-child{box-sizing:border-box;width:100%;height:72px;min-height:72px;margin:0;align-self:stretch;}
.customer-project-list-panel .all-projects-summary>div:only-child{grid-column:2;display:flex;flex-direction:column;justify-content:center;}

/* Supplier quote uses the same cached thumbnail as the customer. */
body.supplier #app .project-stages>.quote-upload.has-pdf-preview{padding:3px;}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile{position:relative;display:block!important;flex:1;max-width:100%!important;margin:0!important;}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile .quote-saved{position:absolute!important;inset:0;display:flex;align-items:center;justify-content:center;width:100%!important;height:100%!important;padding:0;opacity:1!important;}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-saved img.pdf-preview{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0;object-fit:contain;border-radius:8px;}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile .quote-remove{position:absolute!important;z-index:1;width:22px;height:22px;min-height:0;padding:0;}
/* Center the preview against the complete supplier quote frame. */
body.supplier #app .project-stages>.quote-upload.has-pdf-preview{position:relative;}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile{position:absolute!important;inset:3px;width:auto!important;height:auto!important;min-height:0;}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-tile .quote-remove{left:auto!important;right:2px;top:2px;}
body.supplier #app .project-stages>.quote-upload.has-pdf-preview .quote-saved::before{content:none!important;display:none!important;}
/* Larger supplier amounts without changing the header tile dimensions. */
body.supplier #app .supplier-header-left>.project-profit-summary>div>strong{font-size:20px;line-height:1.15;}
body.supplier #app .supplier-header-left>.project-profit-summary>div.project-commission>strong{font-size:16px;line-height:1.2;}
/* Slightly larger customer project amount, with the caption and tile unchanged. */
body.customer #app .customer-header-details>.customer-project-summary>.project-total>strong{font-size:20px;line-height:1.15;}
/* Match the top summary amounts to the enlarged project amount. */
body.customer #app #all-projects-summary>div>strong,
body.supplier #app #supplier-project-summary>div>strong{font-size:20px;line-height:1.15;}
/* Customer project price and copy action match the pale green header tiles. */
body.customer #app .customer-header-details>.customer-project-summary>:is(.project-total,.customer-summary-copy){background:#d1e8dd;border-color:#aacdb9;}
.firm-commission-report{grid-column:1/-1;display:flex;flex-direction:column;gap:10px;min-width:0;}.firm-commission-report input{width:100%;box-sizing:border-box;}.commission-report-scroll{overflow:auto;max-height:60vh;}.commission-report-table{width:100%;border-collapse:collapse;}.commission-report-table th,.commission-report-table td{padding:8px;border:1px solid #cad8e8;text-align:left;}
/* Three equally sized company overview panels when commission sharing is enabled. */
.firm-card-columns:has(>.firm-commission-report){grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;}
.firm-card-columns:has(>.firm-commission-report)>.firm-details{grid-column:1/-1;}
.firm-card-columns>.firm-commission-report{grid-column:auto;min-width:0;}
.firm-commission-report>button{margin:0;width:100%;white-space:normal;}
.firm-commission-report label{}
@media(max-width:550px){.firm-card-columns:has(>.firm-commission-report){grid-template-columns:minmax(0,1fr);}}
/* Keep company details and all three compact overview panels on the same desktop row. */
@media(min-width:901px){
 .firm-card-columns:has(>.firm-commission-report){grid-template-columns:minmax(230px,1.2fr) repeat(3,minmax(0,1fr));gap:12px;}
 .firm-card-columns:has(>.firm-commission-report)>.firm-details{grid-column:auto;}
}
.firm-card-columns:has(>.firm-commission-report)>.firm-storage{padding:12px;gap:5px;font-size:12px;box-sizing:border-box;}
.firm-card-columns>.firm-commission-report{gap:6px;}
.firm-commission-report label{font-size:11px;line-height:1.3;}
.firm-commission-report input,.firm-commission-report>button{min-height:32px;height:32px;padding:5px 7px;margin:0;font-size:12px;box-sizing:border-box;}
.firm-commission-report small{font-size:11px;line-height:1.3;}
.firm-card-columns:has(>.firm-commission-report) .firm-retention{gap:5px;margin-top:3px;}
.firm-card-columns:has(>.firm-commission-report) .firm-retention button{padding:5px 7px;min-height:32px;font-size:11px;}
/* Keep admin actions together and match overview panel heights. */
.firm-details>.actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.firm-details>.actions>button{margin:0;}
@media(min-width:901px){
 .firm-card-columns:has(>.firm-commission-report){align-items:stretch;}
 .firm-card-columns:has(>.firm-commission-report)>.firm-storage{height:100%;}
}
.firm-details>.actions:has(>.company-advanced-button){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.firm-details>.actions:has(>.company-advanced-button)>button{width:100%;min-width:0;white-space:normal;padding:6px;font-size:11px;align-self:stretch;}
.admin-firm-title{display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.admin-firm-title>h3{margin-bottom:0;}
.admin-firm-title>.admin-firm-registrant{margin:0;}
/* Reserve the same company-action column whether two or three panels are visible. */
@media(min-width:901px){
 .firm-card-columns.has-customer-activity{grid-template-columns:minmax(230px,1.2fr) repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;}
 .firm-card-columns.has-customer-activity>.firm-details{grid-column:auto;}
}

body.customer #app .prepared-header-actions{display:flex;justify-content:flex-end;margin-top:auto;}
body.customer #app .prepared-header-actions>.customer-summary-copy{width:100%;min-height:40px;margin:0;background:#eaf2fe;border:1px solid #d4e4f9;border-radius:12px;font-size:16px;font-weight:700;}

main>.position-indicator>button.prepared-projects-new{background:#f8d6d3;border-color:#ba514b;color:#862b25;}
body.customer #app .prepared-admin-project.prepared-project-unopened{background:#fff2c6;border-color:#d4a433;}

body.customer #app>.customer-page-heading.prepared-project-heading{display:flex;justify-content:flex-end;width:100%;box-sizing:border-box;}
body.customer #app>.prepared-project-heading>.app-back-button{margin:0;}
body.customer #app .prepared-admin-project{--prepared-action-width:150px;--prepared-action-height:48px;}
body.customer #app .prepared-admin-project .customer-header-process>.project-stages>.customer-title-tile,
body.customer #app .prepared-admin-project .prepared-header-actions>.customer-summary-copy{width:var(--prepared-action-width);max-width:100%;height:var(--prepared-action-height)!important;min-height:var(--prepared-action-height);box-sizing:border-box;padding:6px 10px;margin:0;font-size:13px;line-height:1.2;}
body.customer #app .prepared-admin-project .customer-header-process>.project-stages>.customer-title-tile{justify-self:start;}

/* Center the three supplier customer indicators on the full card width. */
body.supplier #app #requests .company-request{grid-template-columns:minmax(0,1fr) minmax(0,450px) minmax(0,1fr);}
body.supplier #app #requests .company-request>.company-all-summaries{grid-template-columns:repeat(3,minmax(0,1fr));grid-column:2;grid-row:1;}
body.supplier #app #requests .company-request>.partner-message-button{grid-column:3;grid-row:1;justify-self:end;}
body.supplier #app #requests .company-all-summaries>.company-stock-summary{display:none;}
body.supplier #app #requests .company-stage-summary>span>span{font-size:11px;white-space:normal;}
@media(max-width:1050px){
body.supplier #app #requests .company-request{}
body.supplier #app #requests .company-request>.supplier-name-actions{grid-column:1;grid-row:1;}
body.supplier #app #requests .company-request>.partner-message-button{grid-column:2;grid-row:1;}
body.supplier #app #requests .company-request>.company-all-summaries{grid-column:1/-1;grid-row:2;width:100%;max-width:450px;justify-self:center;}
}
body.supplier #app #requests .company-request>.customer-company-actions{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;}
body.supplier #app #requests .customer-company-actions>.supplier-details-button{font-size:12px;padding:6px 9px;white-space:nowrap;margin:0;flex-shrink:0;}
body.supplier #app #requests .customer-company-actions>.partner-message-button{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:36px;margin:0;padding:0;border:0;background:transparent;}
@media(max-width:1050px){body.supplier #app #requests .company-request{grid-template-columns:minmax(0,1fr) auto;}body.supplier #app #requests .company-request>.customer-company-actions{grid-column:2;grid-row:1;}}
/* Keep the ignore option neutral in supplier deletion requests. */
body.supplier #app .project-delete-decision>button.project-delete-ignore{background:#fff!important;color:#172b46!important;}
body.supplier #app .project-delete-decision>button.project-delete-ignore:hover{background:#fff!important;color:#172b46!important;}
body.customer #app .supplier-grid .company-all-summaries{grid-template-columns:repeat(3,minmax(0,1fr));}
body.customer #app .supplier-grid .company-all-summaries>.company-stock-summary{display:none;}
body.customer #app .supplier-grid .company-stage-summary>span>span{font-size:11px;white-space:normal;}
/* Match supplier cards: three centered indicators and adjacent company actions. */
body.customer #app .supplier-grid .supplier-card{grid-template-columns:minmax(0,1fr) minmax(0,450px) minmax(0,1fr);gap:12px;}
body.customer #app .supplier-grid .supplier-card>.company-all-summaries{grid-column:2;grid-row:1;}
body.customer #app .supplier-grid .supplier-card>.customer-company-actions{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;}
body.customer #app .supplier-grid .customer-company-actions>.supplier-details-button{font-size:12px;padding:6px 9px;white-space:nowrap;margin:0;flex-shrink:0;}
body.customer #app .supplier-grid .customer-company-actions>.supplier-envelope{display:flex;align-items:center;justify-content:center;position:relative;width:44px;min-width:44px;height:36px;min-height:36px;margin:0;padding:4px;box-sizing:border-box;border:1px solid #aacdb9;border-radius:12px;background:#d1e8dd;color:#124c91;}
@media(max-width:1050px){
body.customer #app .supplier-grid .supplier-card{grid-template-columns:minmax(0,1fr) auto;}
body.customer #app .supplier-grid .supplier-card>.supplier-name-actions{grid-column:1;grid-row:1;}
body.customer #app .supplier-grid .supplier-card>.customer-company-actions{grid-column:2;grid-row:1;}
body.customer #app .supplier-grid .supplier-card>.company-all-summaries{grid-column:1/-1;grid-row:2;width:100%;max-width:450px;justify-self:center;}
}
body.customer #app>.position-indicator[data-buyer-navigation]{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,320px);margin:0 auto 14px;}
:root{--project-header-surface:#edf7f0;--project-header-inner-border:#5f9673;}
/* BEGIN reversible white project headers experiment */
body:is(.supplier,.customer) #app [data-project-card]:not(.project-unread,.project-awaiting-close,.project-answered,.prepared-project-unopened),
body:is(.supplier,.customer) #app [data-project-card] :not(.project-header-status,.project-header-status *,.project-stock-state,.project-stock-state *,.customer-stock-indicators,.customer-stock-indicators *,.stage-waiting,.stage-waiting *,.stock-waiting,.stock-waiting *,.quote-upload,.quote-upload *,.quote-download,.quote-download *,.delivery-priority button[aria-pressed=true],.delivery-priority button[aria-pressed=true] *,[data-delivery-start],[data-delivery-start]>.project-delivery-date,[data-delivery-start]>label,[data-delivery-start]>label>span,[data-delivery-start]>small,.unread-badge,.unread-badge *,.project-delete-request,.project-delete-request *,svg,svg *,img,input[type=checkbox]){
background:#fff!important;
color:#172b46!important;
}
/* END reversible white project headers experiment */
/* Functional alerts remain visible over the neutral white header design. */
body:is(.supplier,.customer) #app [data-project-card] .project-delete-decision>.project-delete-allow{background:#b91c1c!important;color:#fff!important;}
body:is(.supplier,.customer) #app [data-project-card] .project-delete-decision>.project-delete-ignore{background:#fff!important;color:#172b46!important;}
body:is(.supplier,.customer) #app [data-project-card] .project-delete-decision>.project-delete-allow:hover{background:#991b1b!important;}
body.customer #app .buyer-preparation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:auto;}
body.customer #app .buyer-preparation-actions>.prepared-project-info{box-sizing:border-box;width:100%;min-width:0;min-height:var(--project-action-height,60px);padding:6px;border:1px solid #86b698;border-radius:12px;font-size:11px;font-weight:700;line-height:1.2;text-align:center;display:flex;align-items:center;justify-content:center;background:var(--project-header-surface);color:#18334f;overflow-wrap:anywhere;}
body.customer #app .buyer-preparation-actions>button{box-sizing:border-box;width:100%;min-width:0;height:var(--project-action-height,60px);min-height:var(--project-action-height,60px);margin:0;padding:6px;border-radius:12px;font-size:11px;font-weight:700;line-height:1.2;white-space:normal;overflow-wrap:anywhere;}
/* Let the unopened prepared card's yellow background fill its layout gaps. */
body.customer #app .prepared-admin-project.prepared-project-unopened[data-project-card]>:is(.customer-header-process,.customer-header-details),
body.customer #app .prepared-admin-project.prepared-project-unopened[data-project-card] .customer-header-process>.project-stages,
body.customer #app .prepared-admin-project.prepared-project-unopened[data-project-card] .customer-header-details>.prepared-header-actions{
background:transparent!important;
}
/* Stronger existing frames in project headers across all company roles.
   Border styles and colors remain unchanged; borderless layout wrappers stay borderless. */
body:is(.supplier,.customer) #app [data-project-card],
body:is(.supplier,.customer) #app [data-project-card] :not(svg,svg *,img,input[type="checkbox"]){border-width:2px!important;}





/* Shared black outer frame for project headers in every company role. */
body:is(.supplier,.customer) #app [data-project-card]{border-color:#000!important;}


/* Let the main page background show beneath project headers and item cards. */

body.customer #app .customer-project-list-panel,
body.customer #app .customer-project-panel,
body.supplier #app #customer-projects>.panel,
body.supplier #app #customer-detail>.panel{background:transparent!important;border-color:transparent!important;box-shadow:none!important;}


/* Use the standard-delivery green for inner project-header borders. */
body:is(.supplier,.customer) #app [data-project-card] :not(.project-header-status,.project-header-status *,.project-stock-state,.project-stock-state *,.customer-stock-indicators,.customer-stock-indicators *,svg,svg *,img,input[type=checkbox]){border-color:var(--project-header-inner-border)!important;}

/* Pale standard-delivery surface on the selected project-header tiles. */
body:is(.supplier,.customer) #app#app [data-project-card] :is(.buyer-preparation-actions>button,.project-copy,.project-total,.shared-project-title,.project-name-under-stages,.message-envelope,.project-delete:not(.project-delete-decision),.quote-upload:not(.quote-closed),.quote-download:not(.quote-closed)){background:var(--project-header-surface)!important;}
body:is(.supplier,.customer) #app#app [data-project-card] :is(.buyer-preparation-actions>button,.project-copy,.project-total,.shared-project-title,.project-name-under-stages,.message-envelope,.project-delete:not(.project-delete-decision),.quote-upload:not(.quote-closed),.quote-download:not(.quote-closed)) :not(.unread-badge,.unread-badge *,svg,svg *,input,button){background:transparent!important;}
/* Keep the delivery surface continuous around the priority controls. */
body:is(.supplier,.customer) #app#app [data-project-card] .project-delivery-row:not([data-delivery-start]){background:var(--project-header-surface)!important;}
body:is(.supplier,.customer) #app#app [data-project-card] .project-delivery-row :is(.delivery-priority,.project-delivery-date,label,label>span,small){background:transparent!important;}

/* Keep both delivery-priority labels on exactly two lines at every width. */
body:is(.supplier,.customer) #app .project-delivery-row .delivery-priority>button{white-space:pre!important;}


/* Center delivery-priority controls vertically without the former top offset. */
body:is(.supplier,.customer) #app .project-delivery-row .delivery-priority{margin-top:0!important;align-self:center;}

/* Equal delivery-priority button dimensions in every role and viewport. */
body:is(.supplier,.customer) #app .project-delivery-row .delivery-priority{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
body:is(.supplier,.customer) #app .project-delivery-row .delivery-priority>button{box-sizing:border-box;width:100%;min-width:0;height:48px;min-height:48px;display:flex;align-items:center;justify-content:center;}
/* Match horizontal spacing in the process and delivery indicator rows. */
body:is(.supplier,.customer) #app [data-project-card] :is(.project-stages,.project-stock-state,.customer-stock-indicators){column-gap:4px!important;}





/* Supplier list membership: same square dimensions as the adjacent envelope. */
body.customer #app .supplier-favorite{display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;width:44px;min-width:44px;height:36px;min-height:36px;margin:0;padding:4px;border:1px solid #aacdb9;border-radius:12px;background:#fff;color:#586b7c;font-size:25px;line-height:1;}
body.customer #app .supplier-favorite[aria-pressed=true]{background:#edf7f0;color:#b91c1c;}
/* Search directly on the page canvas, with its icon inside the input. */
body.customer #app .supplier-search-panel{background:transparent;border-color:transparent;box-shadow:none;}
body.customer #app :is(#supplier-search,#customer-project-query,#additional-supplier-search){padding-left:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%2362748c' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;background-size:22px 22px;}

/* Live supplier matches scroll inside their own result area. */
body.customer #app :is(#supplier-results,#supplier-service-results){max-height:min(420px,55vh);overflow-y:auto;overscroll-behavior:contain;}

/* Explain buyer permissions alongside the existing member controls. */
.company-member-with-competencies{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px;align-items:center;}
.company-member-controls{min-width:0;}
.company-member-controls h3{overflow-wrap:anywhere;}
.company-member-competencies{min-width:0;max-width:520px;font-size:14px;line-height:1.5;color:#42556b;}
.company-member-competencies strong{color:#172b46;}
.company-member-competencies p{margin:8px 0 0;}
@media(max-width:750px){.company-member-with-competencies{grid-template-columns:minmax(0,1fr);gap:16px;}}

.company-member-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;}
.company-member-actions>button{margin:0;white-space:normal;}
.company-member-actions>button:last-child{margin-left:auto;}

.company-invite-card>h2{grid-column:1/-1;}

body:is(.customer,.supplier) #app #project-list-toolbar.trash-project-toolbar{display:flex;justify-content:center;align-items:center;width:100%;max-width:none;margin:0 auto 12px;}
body:is(.customer,.supplier) #app .trash-project-toolbar>#delete-all-projects{box-sizing:border-box;width:320px;max-width:100%;min-height:48px;margin:0;}

.customer-project-search{margin:0 0 16px;}
.customer-project-search-status:empty{display:none;}
#customer-project-results{max-height:min(480px,60vh);overflow-y:auto;}
@media(max-width:650px){.customer-project-search-result{flex-wrap:wrap;}.customer-project-search-result>div{flex-basis:100%;}}

body.customer #app #supplier-search-form{width:100%;}
body.customer #app #supplier-search-form>.supplier-search-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;}
@media(max-width:650px){body.customer #app #supplier-search-form>.supplier-search-row{grid-template-columns:minmax(0,1fr);}}

/* Quotation upload fits its tile with and without a PDF preview. */
body.supplier #app .project-stages>.quote-upload:not(.has-pdf-preview){flex-direction:column;flex-wrap:nowrap;gap:2px;padding:1px;}
body.supplier #app .project-stages>.quote-upload:not(.has-pdf-preview)>label{margin:0;font-size:10px;line-height:1.1;}
body.supplier #app .project-stages>.quote-upload:not(.has-pdf-preview)>.quote-choose{box-sizing:border-box;width:100%;min-width:0;min-height:26px;height:auto;margin:0;padding:1px;font-size:10px;line-height:1.1;}
/* A sidebar leaves too little room for two header columns on a tablet. */
@media(max-width:1000px){
 body:is(.supplier,.customer) #app :is(.supplier-project-row,.customer-project-card){grid-template-columns:minmax(0,1fr);min-height:0;gap:12px;}
 body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary),
 body:is(.supplier,.customer) #app :is(.supplier-header-left>.project-profit-summary,.customer-header-details>.customer-project-summary):has(.project-commission){grid-template-columns:repeat(2,minmax(0,1fr));--price-tile-height:80px;}
 body.customer #app .customer-header-details>.customer-project-summary:has(.project-commission)>.customer-summary-copy{grid-column:1/-1;min-height:40px;}
 body:is(.supplier,.customer) #app .project-stages>:is(span,.stage-action){min-height:32px;font-size:11px;line-height:1.25;white-space:normal;overflow-wrap:normal;display:flex;align-items:center;justify-content:center;}
 body.customer #app .customer-header-details>.customer-stock-indicators,
 body.supplier #app .supplier-header-left>.project-stock-state{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
 body.customer #app .customer-stock-indicators>span,
 body.supplier #app .supplier-header-left>.project-stock-state>button{min-height:32px;font-size:11px;line-height:1.25;white-space:normal;}
 body:is(.supplier,.customer) #app .project-stages>.project-delete-decision{grid-column:1/-1;grid-row:3;height:40px!important;min-height:40px;margin-top:6px;}
}
/* Without purchase prices, supplier items can use the phone's full width.
   Purchase-enabled cards retain their required horizontal scroll. */
@media(max-width:650px){
 body.supplier #parts .part.rounded-price-frame:has(.supplier-pricing.hide-purchase){min-width:0;grid-template-columns:minmax(0,1fr);}
 #parts .rounded-price-frame:has(.supplier-pricing.hide-purchase) .supplier-request-header .supplier-part-details{grid-template-columns:minmax(0,1fr);grid-template-rows:none;}
 #parts .rounded-price-frame:has(.supplier-pricing.hide-purchase) .supplier-part-details>p:nth-child(n){grid-column:1;grid-row:auto;grid-template-columns:90px minmax(0,1fr);gap:6px;}
 #parts .rounded-price-frame:has(.supplier-pricing.hide-purchase) .supplier-detail-value{overflow-wrap:anywhere;}
 #parts .rounded-price-frame .supplier-pricing.hide-purchase{grid-template-columns:minmax(0,1fr);--compact-price-width:100%;}
 #parts .rounded-price-frame .supplier-pricing.hide-purchase>.customer-price{grid-column:1;grid-row:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;}
 #parts .rounded-price-frame .supplier-pricing.hide-purchase>.supplier-price:nth-child(3),
 #parts .rounded-price-frame .supplier-pricing.hide-purchase>.part-edit-group{grid-column:1;grid-row:auto;justify-self:stretch;width:auto;margin:6px;height:auto;min-height:80px;}
 #parts .rounded-price-frame .supplier-pricing.hide-purchase>.part-edit-group{flex-direction:row;}
 #parts .rounded-price-frame .supplier-pricing.hide-purchase .supplier-card-media{width:100%;min-width:0;}
 #parts .rounded-price-frame:has(.supplier-pricing.hide-purchase) :is(.supplier-card-delivery,.part-actions){grid-column:1;}
 #parts .rounded-price-frame:has(.supplier-pricing.hide-purchase) .supplier-stock-state{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
}

/* Two full labels per row on the narrowest phones, without shrinking text. */
@media(max-width:360px){
 body:is(.supplier,.customer) #app#app .project-stages>.project-header-status:nth-child(1){grid-column:1/3!important;grid-row:1!important;}
 body:is(.supplier,.customer) #app#app .project-stages>.project-header-status:nth-child(2){grid-column:3/5!important;grid-row:1!important;}
 body:is(.supplier,.customer) #app#app .project-stages>.project-header-status:nth-child(3){grid-column:1/3!important;grid-row:2!important;}
 body:is(.supplier,.customer) #app#app .project-stages>.project-header-status:nth-child(4){grid-column:3/5!important;grid-row:2!important;}
 body:is(.supplier,.customer) #app#app .project-stages>:is(.supplier-header-square,.customer-header-tile,.quote-upload,.project-name-under-stages){grid-row:3;}
 body:is(.supplier,.customer) #app#app .project-stages>.project-delete-decision{grid-row:4;}
}
#parts .rounded-price-frame .supplier-card-media .card-photo img{display:block;max-height:100%;object-fit:contain;margin:0 auto;}
/* Readable item states on tablets and desktops as well as phones. */
body.customer #items .customer-item-stock>span,#parts .part-actions>.supplier-stock-state button{font-size:11px;white-space:normal;line-height:1.3;}
@media(max-width:1000px){
 body.customer #items .item-actions{grid-template-columns:minmax(0,1fr);gap:8px;}
 body.customer #items .item-actions-left{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;min-width:0;}
 body.customer #items .item-actions-left button{width:100%;min-width:0;min-height:36px;margin:0!important;padding:6px;font-size:12px;white-space:normal;}
 body.customer #items .customer-item-stock{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;}
 body.customer #items .customer-item-stock>span{min-height:34px;padding:5px;}
}

/* Signed-in identity immediately below the company logo. */
.sidebar #identity.account-session,.sidebar #identity.account-session *{-webkit-text-decoration:none!important;text-decoration:none!important;text-decoration-line:none!important;text-decoration-color:transparent!important;}
.sidebar #identity.account-session *{border-bottom:0!important;box-shadow:none!important;}
.sidebar #identity.account-session a{color:inherit;}
.sidebar #identity.account-session{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin:12px 0 0;padding:16px 0;border:0;border-top:1px solid #38506b;min-width:0;}
.sidebar #identity.account-session>.account-session-role>span{display:block;font:inherit;color:inherit;margin:0;}
.sidebar #identity.account-session>.account-session-company{display:block;width:100%;min-width:0;margin:0 0 4px;color:#fff;font-size:20px;font-weight:700;line-height:1.3;white-space:nowrap;overflow-wrap:normal;}
.sidebar #identity.account-session>.account-session-role{display:block;width:100%;min-width:0;margin:0;color:#fff;font-size:17px;font-weight:600;line-height:1.25;white-space:nowrap;overflow-wrap:normal;}
.sidebar #identity.account-session>.account-session-email{display:block;width:100%;min-width:0;margin:0;color:#c7dff5;font-size:13px;line-height:1.4;white-space:nowrap;overflow-wrap:normal;}
.sidebar #identity.account-session>.account-session-name{display:block;width:100%;min-width:0;margin:0;color:#c7dff5;font-size:17px;font-weight:600;line-height:1.4;white-space:nowrap;overflow-wrap:normal;}
.sidebar #identity.account-session>:is(.account-session-company,.account-session-role,.account-session-name,.account-session-email),.sidebar #identity.account-session>:is(.account-session-company,.account-session-role,.account-session-name,.account-session-email) *{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;}
.sidebar #identity.account-session>:is(.account-session-company,.account-session-role,.account-session-name,.account-session-email) *{display:inline!important;font:inherit!important;}
.sidebar #identity.account-session>:is(.account-session-company,.account-session-role,.account-session-name,.account-session-email) br{display:none!important;}
.sidebar #account.account-menu{border-top:1px solid #38506b;padding-top:12px;}
.sidebar #account .account-role-buttons{border-bottom:0;margin-bottom:0;}
@media(max-width:650px){
 .sidebar #identity.account-session{grid-column:1/-1;margin:0;padding:12px 0 8px;gap:5px;}
 .sidebar #identity.account-session>.account-session-company{font-size:18px;}
 .sidebar #identity.account-session>.account-session-role{font-size:14px;}
 .sidebar #identity.account-session>.account-session-name{font-size:16px;}
}
.sidebar #account .account-role-buttons>.account-role-option{white-space:normal;line-height:1.3;}

/* Shared project progress design: customer, buyer and supplier use one source. */
:root{--project-progress-height:32px;--project-progress-font-size:11px;--project-progress-radius:12px;--project-progress-outline:#6399d8;--project-progress-pending:#fff;--project-progress-complete:#9fc5f2;--project-progress-text:#245d9f;--project-progress-complete-text:#123f75;--project-progress-waiting:#fff0c2;--project-progress-waiting-text:#775300;}
body:is(.supplier,.customer) #app#app [data-project-card] .project-progress-indicator{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-width:0;height:var(--project-progress-height);min-height:var(--project-progress-height);margin:0;padding:3px 4px;border:0;border-radius:var(--project-progress-radius);font-family:inherit;font-size:var(--project-progress-font-size);font-weight:700;line-height:1.2;text-align:center;white-space:normal;overflow-wrap:normal;opacity:1;background:var(--project-progress-pending)!important;color:var(--project-progress-text)!important;box-shadow:inset 0 0 0 2px var(--project-progress-outline)!important;}
body:is(.supplier,.customer) #app#app [data-project-card] .project-progress-indicator:is(.stage-complete,.current-stage,.stock-complete){background:var(--project-progress-complete)!important;color:var(--project-progress-complete-text)!important;}
body:is(.supplier,.customer) #app#app [data-project-card] .project-progress-indicator.project-progress-stock{background:linear-gradient(to right,var(--project-progress-complete) var(--stock-progress,0%),var(--project-progress-pending) var(--stock-progress,0%))!important;}
body:is(.supplier,.customer) #app#app [data-project-card] .project-progress-indicator.closure-partial{background:linear-gradient(to right,var(--project-progress-complete) 50%,var(--project-progress-pending) 50%)!important;}
body:is(.supplier,.customer) #app#app [data-project-card] .project-progress-indicator:is(.stage-waiting,.stock-waiting){background:var(--project-progress-waiting)!important;color:var(--project-progress-waiting-text)!important;}

/* Center the buyer's sole add-project action on phones. */
@media(max-width:650px){body.customer #app:has(>[data-buyer-navigation]) #project-list-toolbar:not(.trash-project-toolbar){display:flex;justify-content:center;align-items:center;}}
@media(min-width:651px){body.customer #app:has(>[data-buyer-navigation]) #project-list-toolbar:not(.trash-project-toolbar){display:flex;justify-content:center;align-items:center;width:100%;box-sizing:border-box;}}
body.customer #app>[data-buyer-navigation]+.project-list-heading>h2{display:none;}
@media(max-width:650px){body.customer #app>[data-buyer-navigation]+.customer-detail-heading>#project-heading{display:none!important;}}

/* Supplier headers inherit customer tile colors and heights, keeping their own grid. */
body:is(.supplier,.customer) #app [data-project-card] .project-name-under-stages:has(.project-frame-number){grid-template-columns:minmax(0,22%) minmax(0,1fr) minmax(0,22%);}
body:is(.supplier,.customer) #app [data-project-card] .project-frame-number{display:block;align-self:center;min-width:0;max-width:100%;font-weight:700;line-height:1;white-space:nowrap;transform:translateY(-.06em);}
.sidebar #account.account-menu{border-bottom:1px solid #38506b;padding-bottom:12px;}
body.supplier #app#app [data-project-card] .supplier-header-left>.project-profit-summary>div{background:var(--project-header-surface)!important;}
body.supplier #app#app [data-project-card] .supplier-header-left>.project-profit-summary>div :not(input,button,input *,button *,svg,svg *){background:transparent!important;}
body:is(.supplier,.customer) #app [data-project-card] .project-stages>:is(.supplier-header-square,.customer-header-tile,.quote-upload){height:var(--project-action-height,60px)!important;min-height:var(--project-action-height,60px);max-height:none!important;}
/* Preparation buyers do not need supplier process or stock states on phones. */
/* Lower supplier item surface follows the pale green project-header tiles. */
#parts .rounded-price-frame{--supplier-item-green:#d2e7d9;--supplier-item-blue:#d4e3f8;}
#parts .rounded-price-frame>.supplier-frame-art>path:first-child{fill:var(--supplier-item-green);}
#parts .rounded-price-frame>.supplier-frame-art>path:nth-child(2){fill:var(--supplier-item-blue);}
#parts .rounded-price-frame .supplier-pricing :is(.supplier-price,.supplier-price>.line-price-section,.part-edit-group){background:#b4d5c1;}
#parts .rounded-price-frame .customer-price :is(.supplier-card-media,.recommended-price-card,.line-price-section){background:#b6cfee;}
#parts .rounded-price-frame .supplier-pricing :is(input,select,textarea){background:#fff;}
body.supplier #parts .rounded-price-frame :is(.supplier-pricing,.supplier-purchase-source) :is(input,select,textarea):not(:disabled):not([readonly]){background:#fff;}
body.supplier #parts .rounded-price-frame :is(.supplier-pricing,.supplier-purchase-source) :is(input,select,textarea):is(:disabled,[readonly]){background:#d2e7d9;opacity:1;color:#18334f;-webkit-text-fill-color:#18334f;}
body.supplier #parts .supplier-request-header .supplier-detail-value{background:#e2ecf9;}
/* Mobile supplier cards flow vertically, including purchase-enabled cards. */
@media(max-width:650px){
 body.supplier #app#app .project-stages>.project-stock-state{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;}
 body.supplier #app#app .project-stages>.project-stock-state>button{min-height:32px;white-space:normal;font-size:11px;}
 body.supplier #app#app .project-stages>.project-stock-state>[role=status]{grid-column:1/-1;}
 body.supplier #app#app .project-stages>.project-stock-state>[role=status]:empty{display:none;}
 body.supplier #app#app .project-stages>.project-name-under-stages{grid-row:3;margin-bottom:0;}
 body.supplier #app#app .project-stages>:is(.supplier-header-square,.quote-upload,.project-delete-decision){position:relative;inset:auto;grid-row:4;}
 body.supplier #parts .part.rounded-price-frame{min-width:0!important;width:100%;max-width:100%;display:flex;flex-direction:column;gap:0;padding:0;border:2px solid #829ab3;border-radius:16px;overflow:hidden;background:var(--supplier-item-green);}
 body.supplier #parts .rounded-price-frame>.supplier-frame-art{display:none;}
 body.supplier #parts .rounded-price-frame .supplier-request-header{background:var(--supplier-item-blue);border:0;border-radius:0;margin:0;padding:34px 14px 14px;display:block;}
 body.supplier #parts .rounded-price-frame .supplier-part-details{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:8px;}
 body.supplier #parts .rounded-price-frame .supplier-part-details>p:nth-child(n){grid-column:1;grid-row:auto;grid-template-columns:90px minmax(0,1fr);gap:6px;}
 body.supplier #parts .rounded-price-frame .supplier-detail-value{min-width:0;overflow-wrap:anywhere;}
 body.supplier #parts .rounded-price-frame .supplier-pricing{display:flex;flex-direction:column;gap:12px;margin:0;padding:0 14px 14px;min-width:0;--compact-price-width:100%;background:var(--supplier-item-green);}
 body.supplier #parts .rounded-price-frame .supplier-pricing>.customer-price{order:-1;display:flex;flex-direction:column;gap:12px;width:auto;margin:0 -14px;padding:0 14px 14px;background:var(--supplier-item-blue);border:0;border-radius:0;}
 body.supplier #parts .rounded-price-frame .supplier-pricing>.supplier-price,
 body.supplier #parts .rounded-price-frame .supplier-pricing>.part-edit-group,
 body.supplier #parts .rounded-price-frame .customer-price>.supplier-card-media,
 body.supplier #parts .rounded-price-frame .recommended-price-card{width:100%;min-width:0;max-width:none;height:auto;min-height:0;margin:0;align-self:stretch;box-sizing:border-box;}
 body.supplier #parts .rounded-price-frame .supplier-pricing>.supplier-price{width:100%!important;max-width:none;min-width:0;margin:0!important;height:auto!important;min-height:0;align-self:stretch!important;justify-self:stretch;padding:0;border-radius:10px;overflow:hidden;}
 body.supplier #parts .rounded-price-frame .supplier-pricing>.part-edit-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px;}
 body.supplier #parts .rounded-price-frame .part-edit-group>button{max-width:none;min-height:44px;white-space:normal;}
 body.supplier #parts .rounded-price-frame .unit-price-section{padding:12px;min-width:0;}
 body.supplier #parts .rounded-price-frame .line-price-section{padding:12px;min-width:0;}
 body.supplier #parts .rounded-price-frame :is(input,select,textarea){min-width:0;max-width:100%;font-size:16px;}
 body.supplier #parts .rounded-price-frame .supplier-card-delivery{width:100%;min-width:0;margin:0;padding:0 14px 14px;background:var(--supplier-item-green);box-sizing:border-box;}
 body.supplier #parts .rounded-price-frame .purchase-source-field{min-width:0;}
 body.supplier #parts .rounded-price-frame :is(.supplier-pricing>.supplier-price,.recommended-price-card){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
 body.supplier #parts .rounded-price-frame :is(.supplier-pricing>.supplier-price,.recommended-price-card)>.unit-price-section{display:flex;flex-direction:column;justify-content:space-between;gap:8px;padding:12px;overflow-wrap:anywhere;}
 body.supplier #parts .rounded-price-frame :is(.supplier-pricing>.supplier-price,.recommended-price-card)>.line-price-section{display:flex;flex-direction:column;justify-content:space-between;gap:8px;padding:12px;border-top:0;border-left:1px solid #829ab3;border-radius:0;overflow-wrap:anywhere;}
}
@media(max-width:360px){
 body.supplier #app#app .project-stages>.project-stock-state{grid-row:3;}
 body.supplier #app#app .project-stages>.project-name-under-stages{grid-row:4!important;}
 body.supplier #app#app .project-stages>:is(.supplier-header-square,.quote-upload,.project-delete-decision){grid-row:5!important;}
}

#parts .rounded-price-frame .supplier-card-media .card-photo.empty-attachment-preview{display:flex;align-items:center;justify-content:space-evenly;gap:12px;color:var(--mechatro-contrast-border);opacity:1;}
#parts .rounded-price-frame .empty-attachment-preview>.empty-attachment-icon{display:block;flex:0 1 34px;width:34px;height:34px;min-width:0;}
.attachment-file-type{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;min-width:0;box-sizing:border-box;color:#245d9f;}
.buyer-attachment-hint,.buyer-attachment-hint>span{display:flex;align-items:center;justify-content:space-evenly;gap:10px;color:var(--mechatro-contrast-border);}
.buyer-attachment-hint .empty-attachment-icon{display:block;width:30px;height:30px;flex:0 1 30px;min-width:0;}
.attachment-file-type>strong{font-size:24px;line-height:1.1;letter-spacing:.04em;}
.attachment-file-type>small{display:block;max-width:100%;font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#modal.gallery .gallery-stage>.attachment-file-type{min-height:180px;padding:20px;}
#modal.gallery .gallery-stage>.attachment-file-type>strong{font-size:40px;}
#modal.gallery .gallery-stage>.attachment-file-type>small{white-space:normal;overflow-wrap:anywhere;font-size:14px;}
body:is(.supplier,.customer) #app#app [data-project-card] .project-stages.project-frame-opener-layout{grid-template-columns:repeat(12,minmax(0,1fr));}
body:is(.supplier,.customer) #app#app [data-project-card] .project-frame-opener-layout>.project-header-status:nth-child(1){grid-column:1/4!important;}
body:is(.supplier,.customer) #app#app [data-project-card] .project-frame-opener-layout>.project-header-status:nth-child(2){grid-column:4/7!important;}
body:is(.supplier,.customer) #app#app [data-project-card] .project-frame-opener-layout>.project-header-status:nth-child(3){grid-column:7/10!important;}
body:is(.supplier,.customer) #app#app [data-project-card] .project-frame-opener-layout>.project-header-status:nth-child(4){grid-column:10/13!important;}
body:is(.supplier,.customer) #app#app [data-project-card] .project-name-under-stages{width:100%;grid-column:1/-1!important;}
body:is(.supplier,.customer) #app [data-project-card] button.project-name-under-stages{cursor:pointer;font-family:inherit;color:inherit;}
body:is(.supplier,.customer) #app [data-project-card] button.project-name-under-stages:focus-visible{outline:3px solid #245d9f;outline-offset:2px;}
body:is(.supplier,.customer) #app#app [data-project-card] .no-header-actions>.project-name-under-stages{margin-bottom:0;}
@media(max-width:360px){
 body:is(.supplier,.customer) #app#app [data-project-card] .project-frame-opener-layout>.project-header-status:nth-child(1){grid-column:1/7!important;}
 body:is(.supplier,.customer) #app#app [data-project-card] .project-frame-opener-layout>.project-header-status:nth-child(2){grid-column:7/13!important;}
 body:is(.supplier,.customer) #app#app [data-project-card] .project-frame-opener-layout>.project-header-status:nth-child(3){grid-column:1/7!important;}
 body:is(.supplier,.customer) #app#app [data-project-card] .project-frame-opener-layout>.project-header-status:nth-child(4){grid-column:7/13!important;}
}
/* Preparation buyers have no process or stock controls, at any viewport. */
 body.customer #app#app .buyer-project-card:not(.prepared-admin-project) :is(.project-header-status,.customer-stock-indicators){display:none!important;}
 body.customer #app#app .buyer-project-card:not(.prepared-admin-project) .project-stages{grid-template-rows:auto;}
 body.customer #app#app .buyer-project-card:not(.prepared-admin-project){min-height:0;align-items:start;}
 body.customer #app#app .buyer-project-card:not(.prepared-admin-project) .customer-header-process>.project-stages{flex:none;align-content:start;}
 body.customer #app#app .buyer-project-card:not(.prepared-admin-project) .project-name-under-stages{margin-bottom:0;}
 body.customer #app#app .buyer-project-card:not(.prepared-admin-project) .project-stages>:is(.project-name-under-stages,.customer-title-tile){grid-row:1!important;}
@media(min-width:1001px){
 body.customer #app#app .buyer-project-card:not(.prepared-admin-project){align-items:stretch;}
 body.customer #app#app .buyer-project-card:not(.prepared-admin-project) .customer-header-process>.project-stages{flex:1;align-content:stretch;grid-template-rows:minmax(0,1fr);}
 body.customer #app#app .buyer-project-card:not(.prepared-admin-project) .project-name-under-stages{height:100%;min-height:0;align-self:stretch;}
}
