:root{--ink:#172033;--muted:#667085;--line:#e4e9f1;--soft:#f5f7fb;--blue:#1769e0;--blue-dark:#0d4fac;--nav:#111a2d;--white:#fff;--red:#c93645;--amber:#a86100;--green:#0f8066;--shadow:0 12px 32px rgba(19,33,58,.07);font-family:Inter,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;color:var(--ink);background:var(--soft);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--soft);font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:#dbe4f5;padding:24px 18px;display:flex;flex-direction:column}.brand,.login-brand{display:flex;align-items:center;gap:12px}.brand{padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:linear-gradient(145deg,#2781f2,#1157c1);color:#fff;font-size:20px;font-weight:800;box-shadow:0 8px 20px rgba(23,105,224,.3)}.brand strong,.login-brand strong{display:block;letter-spacing:.16em;font-size:15px}.brand small,.login-brand small{display:block;margin-top:4px;font-size:9px;letter-spacing:.13em;color:#91a3bf}.nav{padding:18px 0;overflow-y:auto}.nav p{margin:20px 10px 8px;color:#72849e;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.nav a{display:flex;align-items:center;gap:10px;border-radius:10px;padding:10px 11px;margin:2px 0;color:#b9c6d9;font-size:13px}.nav a:hover,.nav a.active{color:#fff;background:rgba(255,255,255,.09)}.nav-prefix{display:inline-grid;place-items:center;min-width:31px;padding:3px 5px;border-radius:6px;background:rgba(255,255,255,.08);font-size:9px;font-weight:800;letter-spacing:.05em}.account-card{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:16px 8px 0;display:flex;flex-direction:column;gap:4px}.account-card strong{color:#fff}.account-card span{font-size:11px;color:#91a3bf}.link-button{border:0;background:none;color:#9fb4d4;padding:8px 0;text-align:left;font-size:12px}.main{min-width:0;padding:34px 38px 60px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.page-header.compact{align-items:center}.page-header h1{margin:5px 0 6px;font-size:29px;line-height:1.2;letter-spacing:-.04em}.page-header p{margin:0;color:var(--muted);line-height:1.6}.eyebrow{font-size:10px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.13em}.header-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border-radius:10px;border:1px solid transparent;font-weight:700;font-size:13px;white-space:nowrap}.button.primary{background:var(--blue);color:#fff}.button.primary:hover{background:var(--blue-dark)}.button.secondary{background:#fff;border-color:#ccd5e2;color:#344054}.button.ghost{background:transparent;border-color:var(--line);color:#475467}.button.warning{background:#fff8e8;border-color:#f5d99d;color:#975800}.button.danger{background:#fff0f1;border-color:#f4c5ca;color:var(--red)}.button.full{width:100%}.panel{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:22px}.metric-card{position:relative;min-height:112px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(18,31,52,.04);transition:.18s}.metric-card:hover{transform:translateY(-2px);border-color:#b8c9df}.metric-card>span{font-size:10px;font-weight:800;color:var(--blue);letter-spacing:.1em}.metric-card strong{display:block;font-size:28px;margin:9px 0 3px}.metric-card small{color:var(--muted);font-size:11px}.filter-panel{padding:18px;margin-bottom:16px}.filter-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr) auto;gap:12px;align-items:end}.filter-actions{display:flex;gap:6px}.panel-tools{display:flex;justify-content:space-between;align-items:center;padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}.panel-tools span{color:var(--muted);font-size:12px}.table-panel{overflow:hidden}.table-scroll{overflow:auto}.data-table{width:100%;min-width:1050px;border-collapse:collapse;text-align:left}.data-table.reference-table{min-width:1200px}.data-table th{background:#f8f9fc;padding:12px 14px;border-bottom:1px solid var(--line);color:#667085;font-size:10px;letter-spacing:.07em;white-space:nowrap}.data-table td{padding:14px;border-bottom:1px solid #edf0f5;vertical-align:top;line-height:1.45}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:#fbfcfe}.case-link{color:var(--blue);font-weight:800}.type-chip,.status-chip{display:inline-flex;align-items:center;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800;white-space:nowrap}.type-chip.inquiry{background:#eaf3ff;color:#1769e0}.type-chip.quotation{background:#f0edff;color:#6247c7}.type-chip.contract{background:#fff3df;color:#a55e00}.type-chip.project{background:#e8f8f2;color:#08765c}.type-chip.warranty{background:#eef1f5;color:#526071}.status-chip{background:#f0f3f7;color:#536174}.status-completed,.status-accepted,.status-active,.status-qualified{background:#e8f8f2;color:#08765c}.status-cancelled,.status-declined,.status-expired,.status-closed{background:#fff0f1;color:#b42335}.status-negotiating,.status-reviewing,.status-pending-signature,.status-on-hold{background:#fff5e6;color:#9b5c00}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,.6fr);gap:18px}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:19px 20px;border-bottom:1px solid var(--line)}.panel-heading h2{margin:3px 0 0;font-size:17px}.panel-heading>a{font-size:12px;color:var(--blue);font-weight:700}.compact-list>a{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid #edf0f5}.compact-list>a:last-child{border:0}.compact-list strong,.compact-list small{display:block}.compact-list small{margin-top:4px;color:var(--muted)}.compact-list time{font-size:11px;color:var(--muted)}.activity-list{padding:12px 20px}.activity-list>div{display:flex;gap:11px;padding:9px 0}.activity-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--blue);margin-top:5px;box-shadow:0 0 0 4px #eaf3ff}.activity-list p{min-width:0;margin:0;line-height:1.45;overflow-wrap:anywhere}.activity-list small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.empty{color:#98a2b3;text-align:center;padding:28px!important}.case-form{max-width:1240px;margin:0 auto}.form-section{padding:22px;margin-bottom:16px}.section-title{margin-bottom:19px}.section-title h2{margin:1px 0 4px;font-size:17px}.section-title p{margin:0;color:var(--muted);font-size:12px}.form-grid{display:grid;gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;color:#475467;font-size:11px;font-weight:700}input,select,textarea{width:100%;border:1px solid #cfd7e3;border-radius:9px;background:#fff;color:var(--ink);padding:10px 11px;outline:none;transition:.15s}input,select{min-height:41px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#5593e8;box-shadow:0 0 0 3px rgba(23,105,224,.1)}label small,.hint{color:#8491a4;font-weight:400;font-size:10px}.hint{margin:12px 0 0}.form-stack{display:flex;flex-direction:column;gap:14px}.line-items{display:flex;flex-direction:column;gap:12px;margin-bottom:13px}.line-item-row{border:1px solid var(--line);border-radius:13px;padding:15px;background:#fbfcfe}.line-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.line-item-head strong{font-size:11px;color:var(--blue);letter-spacing:.08em}.text-danger{border:0;background:none;color:var(--red);font-size:11px;font-weight:700;padding:5px}.hidden{display:none!important}.file-drop{align-items:center;justify-content:center;border:1px dashed #aebbd0;border-radius:13px;background:#f9fbfe;min-height:110px;text-align:center;cursor:pointer}.file-drop input{width:auto;border:0;padding:0;min-height:0}.file-drop small{display:block}.sticky-actions{position:sticky;bottom:14px;z-index:5;display:flex;justify-content:flex-end;gap:8px;border:1px solid rgba(218,224,234,.9);border-radius:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);padding:12px;box-shadow:0 12px 32px rgba(17,29,49,.14)}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.detail-main,.detail-side{display:flex;flex-direction:column;gap:16px}.summary-card{padding:20px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.summary-grid div{min-width:0}.summary-grid span,.summary-grid small{display:block;color:var(--muted);font-size:10px}.summary-grid strong{display:block;margin-top:6px;overflow:hidden;text-overflow:ellipsis}.notice{margin:18px 0 0;padding:11px 13px;border-radius:10px;background:#e9f8f3;color:#0b6e57;font-size:11px}.subheading{margin:24px 0 12px;font-size:14px}.form-actions{display:flex;justify-content:flex-end;margin-top:18px}.upload-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.file-list{margin-top:16px}.file-list>div{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.file-list strong,.file-list small{display:block}.file-list small{margin-top:3px;color:var(--muted);font-size:10px}.danger-zone{display:flex;justify-content:space-between;align-items:center;padding:20px;border-color:#f0cbd0;background:#fffafa}.danger-zone h2{margin:0 0 5px;font-size:16px}.danger-zone p{margin:0;color:#8f5a61;font-size:11px}.danger-zone>div:last-child{display:flex;gap:8px}.sticky-panel{position:sticky;top:20px}.workflow-chain{padding:16px 18px}.workflow-stage{position:relative;display:grid;grid-template-columns:27px 1fr;gap:10px;padding-bottom:14px}.workflow-stage:before{content:"";position:absolute;left:13px;top:27px;bottom:0;width:1px;background:var(--line)}.workflow-stage:last-child:before{display:none}.workflow-stage>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#edf3fb;color:var(--blue);font-size:10px;font-weight:800;z-index:1}.workflow-stage>div>strong{display:block;padding:5px 4px 8px;font-size:11px;color:#667085}.workflow-stage a{display:block;border-radius:9px;padding:8px 10px;margin-bottom:4px;background:#f7f9fc;font-size:11px;font-weight:800}.workflow-stage a.current{background:#eaf3ff;color:var(--blue)}.workflow-stage a small{display:block;margin-top:3px;font-weight:400;color:#7b8798;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-stage em{display:block;padding:6px 4px;color:#98a2b3;font-size:10px;font-style:normal}.catalog-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px}.catalog-list details{padding:0 20px;border-bottom:1px solid var(--line)}.catalog-list details:last-child{border:0}.catalog-list summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;cursor:pointer;list-style:none}.catalog-list summary strong,.catalog-list summary small{display:block}.catalog-list summary small{margin-top:4px;color:var(--muted)}.catalog-list summary>span{font-size:11px;color:var(--muted)}.inline-edit{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;align-items:end;padding:3px 0 14px}.inline-edit.three{grid-template-columns:repeat(3,1fr)}.staff-list{overflow:auto}.staff-row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto auto;gap:14px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);min-width:800px}.staff-row:last-child{border:0}.staff-row strong,.staff-row small{display:block}.staff-row small{margin-top:3px;color:var(--muted);font-size:10px}.error-card{max-width:560px;margin:80px auto;padding:45px;text-align:center}.error-card>span{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 18px;border-radius:50%;background:#fff0f1;color:var(--red);font-size:24px;font-weight:800}.auth-page{min-height:100vh;background:radial-gradient(circle at 15% 10%,#ddecff,transparent 35%),linear-gradient(145deg,#f5f8fd,#eef3fa)}.auth-main{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 25px 70px rgba(25,42,70,.14)}.login-brand{margin-bottom:28px}.login-brand strong{color:var(--ink)}.login-card h1{margin:0;font-size:26px}.login-card>p{margin:6px 0 25px;color:var(--muted)}.login-card>small{display:block;text-align:center;margin-top:18px;color:var(--muted)}.flash-stack{position:fixed;z-index:20;top:18px;right:22px;display:flex;flex-direction:column;gap:8px;max-width:460px}.flash{padding:12px 15px;border-radius:11px;box-shadow:0 12px 30px rgba(20,35,57,.15);background:#fff;border:1px solid var(--line)}.flash.success{border-color:#b7e2d3;color:#08765c}.flash.error{border-color:#f1bdc3;color:#b42335}
@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(3,1fr)}.filter-grid{grid-template-columns:repeat(3,1fr)}.filter-actions{grid-column:span 3}.detail-grid{grid-template-columns:1fr}.detail-side{display:grid;grid-template-columns:1fr 1fr}.sticky-panel{position:static}.summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:15px}.brand{border:0;padding:0 4px 12px}.nav{display:flex;overflow-x:auto;padding:8px 0}.nav p,.account-card{display:none}.nav a{white-space:nowrap}.main{padding:22px 16px 50px}.page-header{display:block}.page-header .button,.header-actions{margin-top:14px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.catalog-grid{grid-template-columns:1fr}.form-grid.three,.form-grid.four,.summary-grid{grid-template-columns:1fr 1fr}.span-3,.span-4{grid-column:1/-1}.detail-side{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr}.filter-actions{grid-column:1/-1}.flash-stack{left:14px;right:14px}.danger-zone{display:block}.danger-zone>div:last-child{margin-top:14px}}
@media(max-width:520px){.metric-grid,.form-grid.three,.form-grid.four,.summary-grid,.filter-grid{grid-template-columns:1fr}.span-2,.span-3,.span-4,.filter-actions{grid-column:1}.main{padding-left:12px;padding-right:12px}.page-header h1{font-size:25px}.form-section{padding:17px}.sticky-actions{bottom:8px}.sticky-actions .button{flex:1}.header-actions{justify-content:flex-start}.danger-zone>div:last-child{display:grid}.upload-row{grid-template-columns:1fr}}
.password-panel{max-width:560px}.password-panel .button{align-self:flex-start}.profile-actions{max-width:1100px;display:flex;justify-content:flex-end;margin-top:0}
.password-panel .password-field-error{display:block;color:#b42318;font-size:12px;font-weight:500;line-height:1.5;margin-top:2px}.password-panel input[aria-invalid="true"]{border-color:#d96060}.password-panel input[aria-invalid="true"]:focus{box-shadow:0 0 0 3px rgba(180,35,24,.1)}
.file-drop{padding:20px;overflow:visible}.file-drop input[type=file]{display:block;width:min(100%,520px);max-width:100%;min-height:48px;padding:7px;border:1px solid #cfd7e3;border-radius:10px;background:#fff;overflow:visible;cursor:pointer}.file-drop input[type=file]::file-selector-button{min-height:32px;margin:0 12px 0 0;padding:6px 12px;border:1px solid #aebbd0;border-radius:7px;background:#f2f5f9;color:#344054;font-weight:700;cursor:pointer}.file-drop input[type=file]::file-selector-button:hover{background:#e8eef6;border-color:#8fa0b8}
.multi-file-picker{min-width:0}.file-drop.compact{min-height:90px;padding:14px}.selected-files{margin-top:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.selected-files>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid var(--line)}.selected-files>div:last-child{border-bottom:0}.selected-files strong,.selected-files small{display:block}.selected-files strong{max-width:560px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-files small{margin-top:3px;color:var(--muted);font-size:10px}.upload-row{align-items:start}.upload-row>.button{margin-top:25px}
input[type=checkbox]{width:18px;height:18px;min-height:18px;padding:0;flex:0 0 18px;accent-color:var(--blue);cursor:pointer}.checkbox-inline{display:inline-flex;flex-direction:row;align-items:center;gap:7px;white-space:nowrap}.bulk-toolbar{display:flex;align-items:center;gap:12px;padding:12px 0}.bulk-toolbar>span{margin-right:auto;color:var(--muted);font-size:11px}.bulk-toolbar select{width:auto;min-width:185px}.table-bulk-toolbar{min-width:1050px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fbfcfe}.catalog-bulk-toolbar{padding:12px 20px;border-bottom:1px solid var(--line);background:#fbfcfe}.selection-cell{width:44px;text-align:center}.selection-cell input{margin:auto}.selectable-row{gap:11px}.file-list>.selectable-row{justify-content:flex-start}.file-list>.selectable-row>a{min-width:0;flex:1}.line-bulk-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:-4px 0 12px}.line-item-select{display:flex;align-items:center;gap:9px}.catalog-summary-main{display:flex;align-items:center;gap:11px;min-width:0}.catalog-summary-main>div{min-width:0}
.trash-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.trash-stat{padding:18px 20px}.trash-stat span,.trash-stat small{display:block;color:var(--muted);font-size:10px;font-weight:700}.trash-stat strong{display:block;margin:7px 0 3px;font-size:27px}.trash-notice{padding:16px 20px;margin-bottom:16px;border-color:#f0d7a3;background:#fffaf0}.trash-notice strong{color:#8b5800}.trash-notice p{margin:5px 0 0;color:#786545;font-size:11px;line-height:1.55}.trash-table{min-width:1450px}.trash-toolbar{min-width:1450px}.table-subtext{display:block;margin-top:4px;color:var(--muted);font-size:10px}.data-count{display:block;white-space:nowrap;color:#475467;font-size:11px}.muted-action{color:#98a2b3;font-size:11px}
@media(max-width:820px){.trash-summary-grid{grid-template-columns:1fr}}
.brand-logo{display:block;width:100%;max-width:200px;height:61px;object-fit:contain;object-position:left center}.login-brand{justify-content:center}.login-logo{display:block;width:auto;max-width:100%;height:40px;object-fit:contain;object-position:left center}.login-card h1{margin-bottom:24px;text-align:center}.record-subtitle{margin-top:6px;color:var(--muted);line-height:1.5}.record-panel{overflow:hidden}.record-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:6px 20px 20px}.record-field{min-width:0;padding:15px 14px;border-bottom:1px solid var(--line)}.record-field span{display:block;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.02em}.record-field strong,.record-field .record-notes{display:block;margin-top:7px;line-height:1.5;overflow-wrap:anywhere}.record-notes{white-space:pre-wrap}.inline-link{color:var(--blue);font-weight:800}.readonly-table{min-width:900px}.readonly-file-list{padding:4px 20px 15px}.readonly-file-list>a{display:flex;justify-content:space-between;gap:16px;padding:13px 5px;border-bottom:1px solid var(--line)}.readonly-file-list>a:last-child{border-bottom:0}.readonly-file-list small{color:var(--muted);font-size:10px;white-space:nowrap}.profile-panel{max-width:1100px;margin-bottom:16px}.profile-panel .record-field strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.edit-panel{max-width:850px;margin-left:auto;margin-right:auto}.related-records{margin-top:16px}.catalog-list .catalog-row{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.catalog-list .catalog-row:last-child{border-bottom:0}.catalog-row>a,.catalog-row>div{min-width:0;flex:1}.catalog-row strong,.catalog-row small{display:block}.catalog-row small{margin-top:4px;color:var(--muted)}.catalog-row>span{color:var(--muted);font-size:11px;white-space:nowrap}.catalog-list>a.catalog-row:hover,.catalog-row>a:hover strong{color:var(--blue)}.app-dialog-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.52);backdrop-filter:blur(3px)}.app-dialog-backdrop[hidden]{display:none}.app-dialog{width:min(440px,100%);padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(10,20,38,.28)}.app-dialog h2{margin:0 0 12px;font-size:18px}.app-dialog p{margin:0;color:#475467;line-height:1.65;white-space:pre-line}.app-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.dialog-open{overflow:hidden}
@media(max-width:1180px){.record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-grid .span-4{grid-column:1/-1}}
@media(max-width:520px){.record-grid{grid-template-columns:1fr;padding-left:12px;padding-right:12px}.record-grid .span-2,.record-grid .span-4{grid-column:1}.readonly-file-list>a{display:block}.readonly-file-list small{display:block;margin-top:5px}.brand-logo{height:52px}}
.workflow-panel{position:static}
.history-panel{overflow:hidden}.history-panel>summary{cursor:pointer;list-style:none;user-select:none}.history-panel>summary::-webkit-details-marker{display:none}.history-panel:not([open])>summary{border-bottom:0}.history-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-size:11px;font-weight:800;white-space:nowrap}.history-toggle::before{content:"펼치기 / Expand"}.history-toggle::after{content:"+";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eaf3ff;font-size:15px;line-height:1}.history-panel[open] .history-toggle::before{content:"접기 / Collapse"}.history-panel[open] .history-toggle::after{content:"−"}
.attachment-download-toolbar{padding:12px 20px;border-bottom:1px solid var(--line);background:#fbfcfe}.readonly-file-row{display:flex;flex-direction:row;align-items:center;gap:12px;padding:13px 5px;border-bottom:1px solid var(--line);cursor:pointer}.readonly-file-row:last-child{border-bottom:0}.readonly-file-row>span{display:flex;justify-content:space-between;align-items:center;gap:16px;min-width:0;flex:1}.readonly-file-row strong{overflow-wrap:anywhere}.readonly-file-row small{color:var(--muted);font-size:10px;white-space:nowrap}
@media(max-width:520px){.history-panel>summary{align-items:flex-start}.attachment-download-toolbar{align-items:flex-start;flex-wrap:wrap}.attachment-download-toolbar>span{order:3;width:100%}.readonly-file-row>span{display:block}.readonly-file-row small{display:block;margin-top:5px;white-space:normal}}
.staff-header{display:grid;grid-template-columns:1.4fr 1fr 1fr auto auto;gap:14px;align-items:center;min-width:800px;padding:11px 20px;border-bottom:1px solid var(--line);background:#f8f9fc;color:#667085}.staff-header strong{font-size:10px;letter-spacing:.07em;white-space:nowrap}.staff-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:145px}.compact-button{min-height:32px;padding:0 10px;font-size:11px}.staff-form-actions{display:flex;justify-content:flex-end;gap:8px}.readonly-input{min-height:41px;padding:11px;border:1px solid #d8dee8;border-radius:9px;background:#f6f8fb;color:#667085;font-weight:600}
.login-card{width:min(440px,100%);padding:38px}.login-card .login-brand{justify-content:flex-start;margin-bottom:27px;padding-bottom:23px;border-bottom:1px solid var(--line)}.login-brand-copy{display:flex;flex-direction:column;gap:4px}.login-brand-copy strong{font-size:14px;letter-spacing:.17em}.login-brand-copy span{color:#8090a7;font-size:9px;font-weight:800;letter-spacing:.22em}.login-heading{margin-bottom:25px}.login-heading h1{margin:0 0 5px;text-align:left;font-size:28px;letter-spacing:-.035em}.login-heading p{margin:0;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.015em}
.record-actions{gap:8px}.field-title{display:inline-flex;align-items:baseline;align-self:flex-start}.required-marker{margin-left:3px;color:#d92d3f;font-size:12px;font-weight:900;line-height:1}
.activity-case-link{display:inline-flex;align-items:baseline;gap:5px;max-width:100%;flex-wrap:wrap}.activity-case-number{font-weight:800}.activity-project-title{color:var(--ink);font-weight:700}.activity-details{display:block;margin-top:3px;color:#475467}
.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.nav-children{margin:0 0 5px 38px;padding:2px 0 4px 11px;border-left:1px solid rgba(255,255,255,.15)}.nav-children a{position:relative;padding:8px 10px;font-size:11px}.nav-children a::before{content:"";position:absolute;left:-12px;width:10px;border-top:1px solid rgba(255,255,255,.15)}
.contract-module-tabs{display:flex;gap:8px;margin:-6px 0 18px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#fff;width:max-content;max-width:100%}.contract-module-tabs a{padding:10px 14px;border-radius:9px;color:var(--muted);font-size:12px;font-weight:800}.contract-module-tabs a.active{background:#eaf3ff;color:var(--blue)}.contract-module-table{min-width:1250px}.module-progress{min-width:170px}.module-progress strong,.module-progress small{display:block}.module-progress strong{margin-top:6px;font-size:12px}.module-progress small{margin-top:3px;color:var(--muted);font-size:10px}.progress-track{height:8px;overflow:hidden;border-radius:99px;background:#e9eef5}.progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1769e0,#4d9cff)}.progress-track.billing>span{background:linear-gradient(90deg,#0f8066,#3eb792)}.module-contract-summary,.module-contract-items{margin-bottom:16px}.module-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.module-stat{padding:18px 20px}.module-stat>span{display:block;color:var(--muted);font-size:10px;font-weight:800}.module-stat>strong{display:block;margin:7px 0 10px;font-size:23px}.module-add-panel{margin-bottom:16px}.module-steps{display:flex;flex-direction:column;gap:14px}.module-step-card{position:relative;padding:20px}.module-step-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:13px}.module-step-card>header span{color:var(--muted);font-size:10px;font-weight:800}.module-step-card>header h2{margin:5px 0 0;font-size:18px}.module-step-state{display:flex;align-items:center;gap:9px}.module-step-state>strong{font-size:18px}.module-step-card>.progress-track{margin-bottom:20px}.module-step-form{padding-top:2px}.module-step-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px}.module-step-edit-actions .module-delete-form{position:static;margin:0}.module-step-edit-actions .button{min-width:126px}.module-empty{margin-bottom:20px}.workflow-contract-children{margin:4px 0 8px 10px;padding-left:8px;border-left:2px solid #dce7f5}.workflow-stage .workflow-contract-children a{padding:6px 8px;background:#fff;color:#475467;font-size:10px}.status-planned,.status-pending,.status-preparing,.status-billed,.status-awaiting-payment{background:#fff5e6;color:#9b5c00}.status-paid{background:#e8f8f2;color:#08765c}
.module-title-link,.module-title-link:visited{color:#111}.module-title-link:hover{color:#111;text-decoration:underline}
@media(max-width:820px){.nav-children{display:flex;margin:0;border-left:0}.nav-children a::before{display:none}.module-summary-grid{grid-template-columns:repeat(2,1fr)}.contract-module-tabs{width:100%}.contract-module-tabs a{flex:1;text-align:center}}
@media(max-width:520px){.module-summary-grid{grid-template-columns:1fr}.module-step-card>header{display:block}.module-step-state{margin-top:10px}.module-step-edit-actions{display:grid;grid-template-columns:1fr 1fr}.module-step-edit-actions .button{width:100%;min-width:0}}
.note-author{display:block;margin-top:8px;color:var(--muted);font-size:10px;font-weight:700}.process-panel{overflow:hidden;margin-bottom:16px}.process-empty{padding:26px 24px}.process-timeline{display:flex;align-items:flex-start;overflow-x:auto;padding:26px 24px 24px}.process-step{position:relative;flex:1 0 150px;max-width:240px;padding:0 12px;text-align:center;color:#98a2b3}.process-step:not(:last-child)::after{content:"";position:absolute;z-index:0;top:17px;left:calc(50% + 18px);width:calc(100% - 36px);height:3px;border-radius:99px;background:#e3e8ef}.process-node{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;margin:0 auto 10px;border:3px solid #d7dee8;border-radius:50%;background:#fff;color:#98a2b3;font-size:12px;font-weight:900}.process-step strong,.process-step span{display:block}.process-step strong{overflow:hidden;text-overflow:ellipsis;font-size:12px;white-space:nowrap}.process-step span{margin-top:5px;font-size:9px}.process-step.is-active{color:#155bbd}.process-step.is-active .process-node{border-color:#1769e0;background:#1769e0;color:#fff;box-shadow:0 0 0 5px #eaf3ff}.process-step.is-active:not(:last-child)::after{background:#8db9f3}.process-step.is-complete{color:#08765c}.process-step.is-complete .process-node{border-color:#0f8066;background:#0f8066;color:#fff;box-shadow:0 0 0 5px #e8f8f2}.process-step.is-complete:not(:last-child)::after{background:#65bea7}.module-step-card.is-active,.readonly-process-card.is-active{border-color:#a9c9f3;box-shadow:0 12px 32px rgba(23,105,224,.12)}.module-step-card.is-complete,.readonly-process-card.is-complete{border-color:#9fd9c9;box-shadow:0 12px 32px rgba(15,128,102,.11)}.readonly-process-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:16px}.readonly-process-card{padding:20px}.readonly-process-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.readonly-process-card>header>div:first-child>span:first-child{display:block;color:var(--muted);font-size:10px;font-weight:800}.readonly-process-card h2{margin:5px 0 0;font-size:18px}.readonly-process-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.readonly-process-details>div{padding:12px;border-bottom:1px solid var(--line)}.readonly-process-details dt{color:var(--muted);font-size:10px;font-weight:700}.readonly-process-details dd{margin:6px 0 0;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.readonly-process-details .span-2{grid-column:1/-1}.module-files-panel{margin-top:16px}.module-file-row{gap:12px}.module-file-row>div{min-width:0;flex:1}.module-file-row>form{flex:0 0 auto}.module-file-row .button{min-height:32px}
@media(max-width:820px){.readonly-process-grid{grid-template-columns:1fr}}
.type-chip.purchase{background:#e8f3ff;color:#0d5ea8}.case-list-table .status-quotation-sent,.status-ordered,.status-in-production,.status-shipped,.status-received{background:#eaf3ff;color:#155bbd}.customer-combobox{position:relative}.customer-suggestions{position:absolute;z-index:15;top:calc(100% - 1px);left:0;right:0;max-height:240px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #bfc9d8;border-radius:0 0 7px 7px;background:#fff;box-shadow:0 8px 18px rgba(17,29,49,.09);scrollbar-width:thin;scrollbar-color:#b8c3d2 transparent}.customer-suggestions::-webkit-scrollbar{width:6px}.customer-suggestions::-webkit-scrollbar-thumb{border-radius:6px;background:#b8c3d2}.customer-suggestions[hidden]{display:none}.customer-suggestions button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-align:left}.customer-suggestions button:last-child{border-bottom:0}.customer-suggestions button:hover,.customer-suggestions button:focus{background:#eef5ff;outline:none}.customer-suggestions strong{font-size:12px}.customer-suggestions small{color:var(--muted);font-size:10px}.customer-fields{margin-top:14px}
.nav .profile-nav-link{flex-direction:column;align-items:flex-start;gap:2px;white-space:nowrap}.nav .profile-nav-link span:last-child{font-size:11px;color:#91a3bf}.nav .profile-nav-link.active span:last-child,.nav .profile-nav-link:hover span:last-child{color:#dbe4f5}.catalog-search-panel{margin-bottom:0}.catalog-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.catalog-meta-line{display:flex!important;align-items:center;flex-wrap:wrap;gap:5px 12px}.catalog-meta-line span{position:relative}.catalog-meta-line span:not(:last-child)::after{content:"";position:absolute;right:-7px;top:50%;width:2px;height:2px;border-radius:50%;background:#98a2b3}.catalog-contact-line{margin-top:7px!important;color:#475467!important;font-weight:700}.profile-panel .record-grid{grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) minmax(260px,1.6fr) minmax(180px,1fr)}.case-list-table{min-width:1280px;table-layout:fixed}.case-list-table .case-col-select{width:44px}.case-list-table .case-col-type{width:120px}.case-list-table .case-col-number{width:155px}.case-list-table .case-col-date{width:115px}.case-list-table .case-col-party{width:190px}.case-list-table .case-col-title{width:280px}.case-list-table .case-col-item{width:120px}.case-list-table .case-col-status{width:135px}.case-list-table .case-col-owner{width:121px}.case-list-table td{vertical-align:middle}.case-number-cell,.case-date-cell{white-space:nowrap}.case-party-cell,.case-title-cell,.case-item-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-status-heading,.case-status-cell,.case-owner-cell,.case-list-table th:last-child{text-align:center}.case-owner-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readonly-table .quantity-cell{text-align:center}
@media(max-width:1180px){.profile-panel .record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.catalog-search-form,.profile-panel .record-grid{grid-template-columns:1fr}.catalog-search-form .filter-actions{grid-column:1}.profile-panel .record-field strong{white-space:normal;overflow-wrap:anywhere}}
.ranked-combobox{position:relative;min-width:0}.ranked-combobox>.customer-suggestions{z-index:30}.party-contact-editor{margin-top:6px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#f9fbfd}.contact-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.contact-editor-heading h3{margin:0;font-size:13px}.contact-rows{display:flex;flex-direction:column;gap:9px}.contact-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:9px;align-items:end}.contact-remove{margin-bottom:1px}.case-contact-choice{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contact-summary-list{display:flex;flex-direction:column;gap:5px;margin-top:7px}.contact-summary-list strong{margin-top:0}.item-combobox input[type=search]{width:100%}
@media(max-width:820px){.contact-row{grid-template-columns:1fr 1fr}.contact-remove{grid-column:1/-1;justify-self:end}.form-grid.two{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.contact-row,.form-grid.two{grid-template-columns:1fr}.contact-remove{grid-column:1}.contact-editor-heading{align-items:flex-start;flex-direction:column}}
.pagination{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 4px;flex-wrap:wrap}.pagination-number{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:11px;font-weight:800}.pagination-number.active{border-color:var(--blue);background:var(--blue);color:#fff}.pagination .disabled{pointer-events:none;opacity:.45}.pagination>span{margin-left:7px;color:var(--muted);font-size:10px;font-weight:700}
.item-picker{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr);gap:8px;margin-top:0}.item-picker input{width:100%}
.item-picker-field>.hint{display:block;margin:7px 0 0}@media(max-width:520px){.item-picker{grid-template-columns:1fr}}
[hidden]{display:none!important}.catalog-page{display:flex;flex-direction:column;gap:16px}.catalog-add-panel{width:min(850px,100%);margin:0 auto 2px}.case-details-block{margin-top:22px;padding-top:2px;border-top:1px solid var(--line)}.case-contact-picker{margin-top:6px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f9fbfd}.case-contact-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.case-contact-toolbar>strong{font-size:12px;color:#475467}.case-contact-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.case-contact-summary-list{display:flex;flex-direction:column}.case-contact-summary-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:10px;align-items:end;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.case-contact-summary{grid-column:1}.case-contact-picker input[readonly]{background:#f1f4f8;color:#475467}.case-contact-row-remove{display:grid;place-items:center;width:30px;height:30px;margin:0 0 5px;padding:0;border:1px solid #f0c6cb;border-radius:8px;background:#fff5f6;color:var(--red);font-size:18px;line-height:1}.case-contact-row-remove:hover{background:#ffe9ec}.case-contact-empty{margin:12px 0 0}.case-contact-new{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.case-contact-new-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}.case-contact-new>.hint{margin:10px 0 0}.catalog-add-panel .party-contact-editor{margin-top:2px}
.contact-notes-field{grid-column:1/5}.contact-record-field{padding-left:0;padding-right:0}.contact-record-field>span{padding:0 14px}.contact-summary-list{margin-top:7px}.contact-profile-row{display:grid;grid-template-columns:minmax(0,.8fr) repeat(3,minmax(0,1fr)) minmax(0,1.2fr);border-top:1px solid var(--line)}.contact-profile-row:last-child{border-bottom:0}.contact-profile-field{min-width:0;padding:14px}.contact-profile-field strong{color:var(--ink);font-size:13px}.contact-profile-note-field{grid-column:auto;padding-top:14px;border-top:0}.related-records .data-table th:last-child,.related-records .data-table td:last-child{text-align:center}.line-items-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.line-items-heading .subheading{margin:0}.line-item-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.line-item-head-actions .button{min-height:32px;padding:0 10px;font-size:10px}
@media(max-width:820px){.contact-notes-field{grid-column:1/-1}.contact-profile-row{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-profile-note-field{grid-column:1/-1}}
.nav{scrollbar-width:thin;scrollbar-color:rgba(185,198,217,.22) transparent}.nav::-webkit-scrollbar{width:4px}.nav::-webkit-scrollbar-track{background:transparent}.nav::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(185,198,217,.2)}.nav:hover::-webkit-scrollbar-thumb{background:rgba(185,198,217,.34)}
.checkbox-inline{justify-content:flex-start;text-align:left}.checkbox-inline>input[type=checkbox]{order:-1;margin:0}
.password-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:4px}.password-actions .button{align-self:auto}
.party-file-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:16px 20px}.party-file-upload>.button{margin-bottom:1px}.profile-file-list{padding:0 20px 15px}.profile-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.profile-file-row:last-child{border-bottom:0}.profile-file-row .readonly-file-row{border-bottom:0}.profile-file-row form{margin:0}
@media(max-width:520px){.party-file-upload{grid-template-columns:1fr}.profile-file-row{grid-template-columns:1fr;padding:10px 0}.profile-file-row .readonly-file-row{padding-bottom:3px}.profile-file-row form{display:flex;justify-content:flex-end}.password-actions{justify-content:stretch}.password-actions .button{flex:1}}
@media(max-width:520px){.contact-profile-row{grid-template-columns:1fr}.contact-profile-note-field{grid-column:1}.contact-profile-field{padding:12px 14px}}
@media(max-width:520px){.case-contact-toolbar{align-items:stretch;flex-direction:column}.case-contact-actions{justify-content:flex-start}.case-contact-summary-row{grid-template-columns:minmax(0,1fr) 32px}.case-contact-new-actions{justify-content:stretch}.case-contact-new-actions .button{flex:1}}
.process-timeline{width:100%;box-sizing:border-box}.process-timeline .process-step{flex:1 1 0;min-width:0;max-width:none}
.case-contact-name-row{margin-bottom:14px}.case-contact-name-combobox>input{padding-right:38px}.case-contact-name-combobox::after{content:"";position:absolute;z-index:16;top:18px;right:15px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #667085;pointer-events:none}.case-contact-name-combobox .customer-suggestions button{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(0,2.25fr);justify-content:stretch}.case-contact-name-combobox .customer-suggestions strong,.case-contact-name-combobox .customer-suggestions small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-project-title-link,.case-project-title-link:visited{color:#3f4754;font-weight:600}.case-project-title-link:hover{color:#27303d;text-decoration:underline}.attachment-select-row{display:flex;flex-direction:row;align-items:center;padding:11px 0;border-top:1px solid var(--line);cursor:pointer}.attachment-select-row>span{min-width:0;flex:1}.module-file-selection{display:flex;flex:1;flex-direction:row;align-items:center;gap:12px;min-width:0;cursor:pointer}.module-file-selection>span{min-width:0;flex:1}.module-file-selection strong,.module-file-selection small{display:block}
@media(max-width:520px){.case-contact-name-combobox .customer-suggestions button{grid-template-columns:minmax(105px,.8fr) minmax(0,2.2fr)}}
.case-contact-summary-row{grid-template-columns:minmax(0,1fr) 26px;gap:8px}.case-contact-row-remove{width:24px;height:24px;margin-bottom:8px;border-radius:6px;font-size:15px}.module-process-toggle{box-shadow:0 5px 13px rgba(23,105,224,.16)}
@media(max-width:520px){.case-contact-summary-row{grid-template-columns:minmax(0,1fr) 26px}}
.contact-summary-list>.contact-profile-empty{display:block;padding:0 14px 14px}.parent-case-combobox>input[type=search]{padding-right:36px}.parent-case-combobox::after{content:"";position:absolute;z-index:16;top:18px;right:14px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #7b8798;pointer-events:none}.parent-case-combobox .customer-suggestions button{display:grid;grid-template-columns:minmax(125px,.7fr) minmax(0,2.3fr);justify-content:stretch}.parent-case-combobox .customer-suggestions strong,.parent-case-combobox .customer-suggestions small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:520px){.parent-case-combobox .customer-suggestions button{grid-template-columns:1fr}.parent-case-combobox .customer-suggestions small{margin-top:2px}}
.module-step-list-card{overflow:hidden}.module-step-list-card.is-active{border-color:#a9c9f3;box-shadow:0 12px 32px rgba(23,105,224,.12)}.module-step-list-card.is-complete{border-color:#9fd9c9;box-shadow:0 12px 32px rgba(15,128,102,.11)}.module-step-list-card.is-editing{border-color:#8db9f3}.module-step-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:15px 18px}.module-step-list-summary{min-width:0}.module-step-list-summary>span,.module-step-list-summary>strong,.module-step-list-summary>small{display:block}.module-step-list-summary>span{color:var(--muted);font-size:10px;font-weight:800}.module-step-list-summary>strong{margin-top:4px;overflow:hidden;text-overflow:ellipsis;font-size:15px;white-space:nowrap}.module-step-list-summary>small{margin-top:5px;color:var(--muted);font-size:10px}.module-step-list-actions{display:flex;align-items:center;gap:7px}.module-step-list-actions form{margin:0}.module-step-list-actions .button{min-height:34px}.module-step-editor{padding:18px;border-top:1px solid var(--line);background:#fbfcfe}.module-step-editor .module-step-edit-actions{margin-top:16px}
@media(max-width:700px){.module-step-list-row{grid-template-columns:minmax(0,1fr) auto}.module-step-list-row>.status-chip{justify-self:start}.module-step-list-actions{grid-column:1/-1;justify-content:flex-end}}@media(max-width:520px){.module-step-list-row{grid-template-columns:1fr}.module-step-list-actions{grid-column:1}.module-step-list-actions .button{flex:1}.module-step-list-actions form{display:flex;flex:1}.module-step-list-actions form .button{width:100%}}
.contact-name-list{display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;margin-top:6px}.contact-name-button{width:auto;min-height:0;padding:1px 0;border:0;border-bottom:1px dotted #7aa7df;border-radius:0;background:transparent;color:var(--blue);font-size:13px;font-weight:800;line-height:1.45;text-align:left}.contact-name-button:hover,.contact-name-button:focus-visible{border-bottom-color:var(--blue);color:var(--blue-dark);outline:none}.contact-name-button:focus-visible{box-shadow:0 2px 0 #b8d5f8}.contact-detail-dialog{width:min(480px,calc(100% - 28px));padding:0;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);box-shadow:0 24px 70px rgba(17,29,49,.25)}.contact-detail-dialog::backdrop{background:rgba(17,26,45,.44);backdrop-filter:blur(2px)}.contact-detail-dialog form{padding:22px}.contact-detail-dialog header{padding-bottom:16px;border-bottom:1px solid var(--line)}.contact-detail-dialog h2{margin:4px 0 0;font-size:19px}.contact-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:8px 0}.contact-detail-grid>div{min-width:0;padding:13px 8px;border-bottom:1px solid #edf0f5}.contact-detail-grid dt{color:var(--muted);font-size:10px;font-weight:700}.contact-detail-grid dd{margin:6px 0 0;overflow-wrap:anywhere;font-size:13px;font-weight:700}.contact-dialog-actions{display:flex;justify-content:flex-end;padding-top:14px}.contact-dialog-actions .button{min-width:100px}@media(max-width:520px){.contact-detail-grid{grid-template-columns:1fr}.contact-detail-dialog form{padding:18px}}
.module-notes-field{margin-top:16px}.module-notes-inheritance{margin-top:12px;padding:10px 12px;border-radius:9px;background:#f5f8fc;color:#667085}
.item-attribute-combobox{position:relative;min-width:0}.item-attribute-combobox>input{padding-right:36px}.item-attribute-combobox::after{content:"";position:absolute;z-index:16;top:18px;right:14px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #7b8798;pointer-events:none}.item-attribute-combobox>.customer-suggestions{z-index:35}.item-attribute-combobox .customer-suggestions button{min-height:39px;padding:9px 12px}.readonly-table .amount-cell{text-align:right;white-space:nowrap}
/* Ordered Contract payment conditions */
.payment-terms-editor{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface-soft,#f8fafc)}
.payment-terms-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.payment-terms-heading>div{display:flex;flex-direction:column;gap:3px}.payment-terms-heading small{color:var(--muted)}
.payment-term-list{display:grid;gap:8px}.payment-term-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px}
.payment-term-row>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e8eef7;color:#41516b;font-size:.78rem;font-weight:700}
.payment-term-row input{width:100%}
.compact-terms{margin:7px 0 0;padding-left:20px}.compact-terms li+li{margin-top:4px}
.ranked-text-combobox>input{padding-right:36px}.ranked-text-combobox::after{content:"";position:absolute;z-index:16;top:18px;right:14px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #7b8798;pointer-events:none}
.module-process-actions{display:flex;align-items:center;gap:8px}.module-add-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
@media(max-width:520px){.module-process-actions{align-items:stretch;flex-direction:column}.module-add-heading{align-items:flex-start;flex-direction:column}}
.case-items-detail-table{min-width:1180px;font-size:11px}.case-items-detail-table.wide-remarks{min-width:1420px}.case-items-detail-table th{padding:10px 8px;font-size:9px;letter-spacing:.035em}.case-items-detail-table td{padding:10px 8px;line-height:1.35;white-space:nowrap}.case-items-detail-table .item-attribute-cell{width:16%;min-width:165px}.case-items-detail-table.no-remarks{min-width:0;table-layout:fixed}.case-items-detail-table.no-remarks .item-attribute-cell{min-width:0}.case-items-detail-table.no-remarks th{white-space:normal}.case-items-detail-table.no-remarks td{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.case-items-detail-table .remarks-cell{min-width:150px;max-width:240px;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.case-items-detail-table.wide-remarks .remarks-cell{width:480px;min-width:300px;max-width:480px}.remarks-disclosure{min-width:0}.remarks-preview{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.remarks-disclosure.is-collapsible:not(.is-expanded) .remarks-preview{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.remarks-disclosure.is-expanded .remarks-preview{max-height:220px;overflow:auto}.remarks-toggle{display:block;width:auto;min-height:0;margin-top:5px;padding:0;border:0;background:transparent;color:var(--blue);font-size:9px;font-weight:800;white-space:nowrap}
.case-item-name-stack{display:flex;flex-direction:column;gap:3px}.case-item-name-stack strong{font-size:11px;line-height:1.25}.case-item-name-stack strong>span{margin-right:3px;color:var(--muted);font-size:9px;font-weight:500}.case-item-name-stack small{color:var(--muted);font-size:9px;font-weight:500}
.quotation-set-assignment .quotation-set-price-note{white-space:nowrap}
.set-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.set-editor-heading>div{min-width:0}.set-editor-heading .button{flex:0 0 auto}.embedded-set-editor{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.quotation-set-list{display:flex;flex-direction:column;gap:10px}.quotation-set-row{display:grid;grid-template-columns:minmax(170px,1.8fr) repeat(3,minmax(90px,1fr)) minmax(170px,1.5fr);gap:10px;align-items:start;padding:13px;border:1px solid #d9e4f2;border-radius:12px;background:#f7faff}.quotation-set-row .set-remarks-field{grid-column:1/-1}.quotation-set-row .set-remarks-field textarea{min-height:64px;resize:vertical}.quotation-set-row>label{min-width:0}.quotation-set-row .set-field-label{display:flex;align-items:flex-end;min-height:2.6em;line-height:1.3}.quotation-set-row .quotation-set-remove{grid-column:1/-1;justify-self:end;align-self:end;width:auto;min-height:35px;margin:0;padding:0 13px;border:1px solid #e5a8af;background:#fff;color:var(--red)}.quotation-set-row .quotation-set-remove:hover{background:#fff0f1;border-color:var(--red)}.quotation-set-row .quotation-set-remove:focus-visible{outline:2px solid var(--red);outline-offset:2px}.quotation-set-empty{margin:0;padding:16px;border:1px dashed #cbd7e7;border-radius:11px;color:var(--muted);font-size:11px;text-align:center}.quotation-set-summary td{background:#eef5ff!important;border-top:1px solid #bfd4ee;font-weight:700}.quotation-set-summary td:first-child strong,.quotation-set-summary td:first-child small{display:block}.quotation-set-summary td:first-child small{margin-top:3px;color:var(--blue);font-size:9px}.quotation-set-summary .remarks-cell{white-space:pre-wrap}.quotation-set-component td{background:#fbfdff}.quotation-set-component td:first-child{padding-left:20px}.quotation-set-component td:first-child>span,.set-component-price{color:var(--muted);font-size:9px}.set-component-price small{display:block;margin-top:2px;font-size:8px;color:var(--muted)}
.quotation-set-row.no-group-price{grid-template-columns:minmax(210px,2fr) repeat(2,minmax(105px,1fr)) auto}
@media(max-width:900px){.quotation-set-row{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-set-row .set-name-field,.quotation-set-row .set-remarks-field{grid-column:1/-1}.quotation-set-row .text-danger{justify-self:end;margin:0}}
@media(max-width:520px){.set-editor-heading{flex-direction:column}.set-editor-heading .button{width:100%}.quotation-set-row{grid-template-columns:1fr}.quotation-set-row .set-name-field,.quotation-set-row .set-remarks-field{grid-column:1}.quotation-set-row .text-danger{justify-self:end}}
@media(max-width:520px){.line-items-heading{align-items:stretch;flex-direction:column}.line-items-heading .button{width:100%}.line-item-head{align-items:flex-start}.line-item-head-actions{flex-wrap:wrap}}
.line-items-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.line-items-toolbar .subheading,.set-editor-heading h3{margin:0}.line-items-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.line-items-toolbar-actions .button{min-height:38px;padding:0 13px}.line-items-toolbar-actions .line-select-all{min-height:38px;padding:0 5px}.edit-line-items-toolbar{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.line-items-toolbar+.embedded-set-editor{margin:0 0 18px;padding:16px;border:1px solid #d9e4f2;border-radius:14px;background:#f9fbfe}.line-items-toolbar+.embedded-set-editor .section-title{margin-bottom:14px}.line-items-toolbar+.embedded-set-editor .quotation-set-row{background:#fff}.set-editor-heading h3{font-size:15px}
@media(max-width:700px){.line-items-toolbar{align-items:stretch;flex-direction:column}.line-items-toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.line-items-toolbar-actions .line-select-all{grid-column:1/-1}.line-items-toolbar-actions .button{width:100%}}
.flash{transition:opacity .22s ease,transform .22s ease}.flash.is-hiding{opacity:0;transform:translateY(-6px);pointer-events:none}@media(prefers-reduced-motion:reduce){.flash{transition:none}}
.line-item-row{transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.line-item-row.is-collapsed{padding-top:11px;padding-bottom:11px;background:#fff}.line-item-row.is-collapsed:hover{border-color:#c8d6e8;box-shadow:0 5px 16px rgba(19,33,58,.05)}.line-item-row.is-collapsed .line-item-head{margin-bottom:0}.line-item-head{gap:14px}.line-item-select{min-width:0;flex:1}.line-item-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;row-gap:2px;min-width:0;flex:1}.line-item-summary>strong{white-space:nowrap}.line-item-summary-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:13px;font-weight:800;letter-spacing:-.01em}.line-item-summary>small{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;font-weight:500}.line-item-body{padding-top:1px}.line-item-toggle{gap:7px}.line-item-toggle::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .16s ease}.line-item-toggle[aria-expanded="true"]::before{transform:translateY(2px) rotate(225deg)}
@media(max-width:700px){.line-item-head{align-items:flex-start}.line-item-head-actions{flex:0 0 auto}}@media(max-width:520px){.line-item-head{flex-wrap:wrap}.line-item-select{flex-basis:100%}.line-item-head-actions{width:100%;justify-content:flex-end}.line-item-summary-name{white-space:normal}.line-item-summary>small{white-space:normal}}

.item-specification-input{line-height:1.5;white-space:pre-wrap}.case-items-detail-table td.specification-cell{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.quotation-remarks-editor{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.quotation-remarks-editor textarea{white-space:pre-wrap;line-height:1.5}.quotation-remarks-detail{padding:18px 20px;border-top:1px solid var(--line)}.quotation-remarks-detail .record-notes{overflow-wrap:anywhere}
.sub-item-editor{margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}.sub-item-list{display:flex;flex-direction:column;gap:9px}.sub-item-row{display:grid;grid-template-columns:minmax(160px,1.8fr) minmax(68px,.6fr) minmax(65px,.6fr) minmax(95px,1fr) minmax(108px,1fr) auto;gap:8px;align-items:end;padding:10px;border:1px solid #e0e7f0;border-radius:9px;background:#fff}.sub-item-row label{min-width:0;font-size:10px;gap:4px}.sub-item-row input,.sub-item-row select{min-height:34px;padding:7px 8px;border-radius:7px}.sub-item-row .text-danger{min-height:34px;white-space:nowrap}.sub-item-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:9px}.sub-item-list:empty+.sub-item-actions{margin-top:0}.sub-item-actions .button{min-height:33px;font-size:11px;padding:0 11px}.sub-item-actions output{font-weight:700;font-size:12px;color:var(--blue)}.sub-item-hint{display:block;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.5}.set-pricing-field{min-width:0}.set-pricing-field select{min-width:0;font-size:11px}.set-pricing-field output{font-size:10px;line-height:1.5;overflow-wrap:anywhere;color:var(--blue)}.line-item-row input[readonly],.quotation-set-row input[readonly]{background:#edf3fb;color:#475467}.record-actions{gap:8px;flex-wrap:wrap}.sticky-actions{flex-wrap:wrap}
@media(max-width:1150px){.sub-item-row{grid-template-columns:minmax(140px,2fr) minmax(90px,1fr) minmax(90px,1fr)}.sub-item-row .text-danger{justify-self:end}.quotation-set-row,.quotation-set-row.no-group-price{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-set-row .set-name-field,.quotation-set-row .set-remarks-field{grid-column:1/-1}.quotation-set-row .text-danger{justify-self:end}}
@media(max-width:600px){.sub-item-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sub-item-row .sub-item-name{grid-column:1/-1}.sub-item-actions{gap:8px}.quotation-set-row,.quotation-set-row.no-group-price{grid-template-columns:1fr}.quotation-set-row .set-name-field,.quotation-set-row .set-remarks-field{grid-column:1}}

.case-items-detail-table .case-sub-item-row td{font-size:10px;padding-top:6px;padding-bottom:6px;white-space:normal}.case-items-detail-table .case-sub-item-row .sub-item-name{padding-left:24px}.case-items-detail-table .grouped-sub-item-row .sub-item-name{padding-left:36px}.sub-item-visibility{display:block;font-size:9px;color:var(--muted);margin-top:3px}
.sub-item-inline-pricing{display:block;margin-top:2px;color:var(--muted);font-size:9px}

/* All long item fields use the same two-line disclosure as remarks. */
.case-items-detail-table .item-text-disclosure{width:100%;max-width:320px;white-space:normal}.case-items-detail-table .item-text-disclosure .remarks-preview{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}.case-items-detail-table .item-text-disclosure .remarks-preview strong,.case-items-detail-table .item-text-disclosure .remarks-preview a{font-size:inherit;line-height:inherit;white-space:inherit;overflow-wrap:inherit}.case-items-detail-table .item-attribute-cell .item-text-disclosure,.case-items-detail-table.no-remarks .item-text-disclosure{max-width:none}

.case-items-detail-table .remarks-cell .item-text-disclosure{max-width:none}.case-items-detail-table .item-text-disclosure .remarks-toggle{max-width:100%;white-space:normal;text-align:left;line-height:1.35}

/* Keep names 10% narrower than v151 and reserve one line for quantity/unit headings. */
.case-items-detail-table .item-text-disclosure:is([data-detail-field="name"],[data-detail-field="catalog-name"],[data-detail-field="group-name"],[data-detail-field="sub-name"]){max-width:576px}
.case-items-detail-table:not(.no-remarks) .item-name-cell{width:576px;min-width:288px}
.case-items-detail-table.no-remarks.has-prices .item-name-cell{width:18.72%}
.case-items-detail-table.no-remarks.has-prices th.quantity-cell{width:6.24%}
.case-items-detail-table.no-remarks.has-prices th.amount-cell{width:10.4%}
.case-items-detail-table.no-remarks.no-prices .item-name-cell{width:31.2%}
.case-items-detail-table.no-remarks.no-prices th.quantity-cell{width:10.4%}
.case-items-detail-table.no-remarks .item-attribute-cell{width:auto}
.case-items-detail-scroll{container-type:inline-size}
.case-items-detail-table.no-remarks th{overflow-wrap:anywhere;word-break:break-word}
.case-items-detail-table th.quantity-cell{white-space:nowrap;overflow-wrap:normal;word-break:normal}
@container(max-width:1507px){.case-items-detail-table.no-remarks.has-prices th.item-quantity-heading{width:94px}}
@container(max-width:1122px){.case-items-detail-table.no-remarks.has-prices th.item-unit-heading{width:70px}}
@container(max-width:904px){.case-items-detail-table.no-remarks.no-prices th.item-quantity-heading{width:94px}}
@container(max-width:674px){.case-items-detail-table.no-remarks.no-prices th.item-unit-heading{width:70px}}
.item-specification-heading-compact{display:none;text-decoration:none}
@container(max-width:520px){.case-items-detail-table.no-remarks th,.case-items-detail-table.no-remarks td{padding-left:1px;padding-right:1px}.case-items-detail-table.no-remarks:is(.has-prices,.no-prices) th.item-quantity-heading{width:76px}.case-items-detail-table.no-remarks:is(.has-prices,.no-prices) th.item-unit-heading{width:52px}.case-items-detail-table.no-remarks.has-prices th.amount-cell{width:9%}.case-items-detail-table.no-remarks .item-specification-heading{display:none}.case-items-detail-table.no-remarks .item-specification-heading-compact{display:inline}}
.case-items-detail-table.no-remarks .item-text-disclosure:is([data-detail-field="name"],[data-detail-field="catalog-name"],[data-detail-field="group-name"],[data-detail-field="sub-name"]){max-width:none}

/* Keep the quotation format first without stretching its selector. */
.quotation-format-control{display:grid;gap:7px;min-width:0;width:100%;color:#475467;font-size:11px;font-weight:700}.quotation-format-top{margin-bottom:20px}

/* Attachments stay with their project or billing step. */
.step-file-picker { margin-top: 18px; }
.purchase-terms-row textarea { min-height: 41px; height: 41px; resize: vertical; }
.step-attachments { min-width: 0; }
.step-attachments .module-file-selection { min-width: 0; flex: 1; }
.step-attachments .module-file-selection > span { min-width: 0; overflow-wrap: anywhere; }
.step-attachments .bulk-toolbar { flex-wrap: wrap; }

/* Step contents are edited directly from their detail cards. */
.readonly-process-card.is-editing{grid-column:1/-1;border-color:#8db9f3}
.step-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
.readonly-process-card>header>div:first-child{min-width:0}
.readonly-process-card>header h2{overflow-wrap:anywhere}
.readonly-process-card .module-step-editor{border:1px solid var(--line);border-radius:12px}
@media(max-width:600px){.readonly-process-card>header{flex-wrap:wrap}.step-card-actions{justify-content:flex-start}.readonly-process-card .module-step-editor{padding:12px}.readonly-process-card .module-step-edit-actions{display:flex;flex-wrap:wrap;gap:8px}.readonly-process-card .module-step-edit-actions .button{flex:1 1 100%;width:100%}}

/* Full-width step cards keep metadata compact and attachments folded. */
.readonly-process-details{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.readonly-process-details>div{min-width:0;padding:10px 12px}
.billing-step-details{grid-template-columns:repeat(6,minmax(0,1fr))}
.readonly-process-details.project-step-details{grid-template-columns:repeat(3,minmax(130px,.65fr)) minmax(0,2fr)}
.project-step-details .span-2{grid-column:auto}
.step-attachments{margin-top:14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.step-attachments>summary{padding:12px 14px;cursor:pointer;font-size:12px;font-weight:700;color:#475467}
.step-attachment-count{display:inline-block;min-width:22px;margin-left:6px;padding:2px 6px;border-radius:20px;background:#eef3fb;color:#1769e0;text-align:center;font-size:11px}
.step-attachments[open]>summary{border-bottom:1px solid var(--line)}
.step-attachment-content{padding:0 14px 14px}
.step-attachment-content>.file-list{max-height:340px;overflow-y:auto;overscroll-behavior:contain;margin-top:0}
.step-attachment-upload{margin-top:14px}
.step-attachment-upload .form-actions{margin-top:10px}
@media(max-width:1100px){.billing-step-details{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.readonly-process-details,.readonly-process-details.project-step-details{grid-template-columns:repeat(2,minmax(0,1fr))}.project-step-details .span-2{grid-column:1/-1}.step-attachment-content{padding:0 10px 10px}.step-attachments>summary{padding:12px 10px}.step-attachment-content>.file-list{max-height:300px}}

/* Quotation terms, validity dates, format, and markup use two compact rows. */

/* Timeline links jump to the corresponding always-expanded v103 step card. */
.readonly-process-card{scroll-margin-top:18px}
.process-step[data-step-target]{border-radius:10px;cursor:pointer}
.process-step[data-step-target]:hover strong{color:var(--blue)}
.process-step[data-step-target]:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}

/* Dashboard summaries keep readable labels on narrow screens. */
@media(max-width:900px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-width:0}.metric-card small{overflow-wrap:anywhere}}
/* A long group-pricing hint must not widen mobile item input columns. */
@media(max-width:600px){.line-item-body>.form-grid{grid-template-columns:minmax(0,1fr)}.line-item-body>.form-grid>*{min-width:0}.line-item-body .quotation-set-assignment .quotation-set-price-note{white-space:normal}}

/* Communication shortcuts share the account area at the foot of the sidebar. */
.account-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:10px;row-gap:4px;flex-shrink:0}
.account-details{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
.account-card>form{grid-column:1/-1;margin:0}
.app-utilities{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0;padding-top:1px}
.utility-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.06);color:#dbe4f5}
.utility-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.utility-icon:hover,.utility-icon.is-active{background:rgba(255,255,255,.15);border-color:#91b8f2;color:#fff}
.utility-icon:focus-visible{outline:2px solid #91b8f2;outline-offset:3px}
.app-utilities .communication-count{position:absolute;top:-6px;right:-6px;margin:0;min-width:19px;padding:3px 5px;border:2px solid var(--nav);font-size:10px;color:#fff}
.app-shell .flash-stack{pointer-events:none}
@media(max-width:820px){
  .account-card{margin-top:4px;padding:12px 4px 0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px}
  .account-details>span{display:none}
  .account-card>form{grid-column:auto}
  .account-card .link-button{font-size:11px}
  .utility-icon{width:40px;height:40px;flex-basis:40px}
}
@media(max-width:380px){.account-card{column-gap:8px}.account-card .link-button{max-width:75px;line-height:1.4}.utility-icon{width:36px;height:36px;flex-basis:36px}}

/* v116: related work uses one disclosure; every Case reserves the same title width. */
.case-detail-header{display:grid;grid-template-columns:minmax(0,1fr) 460px;align-items:center}
.case-header-title{min-width:0}
.case-detail-header h1,.case-detail-header .record-subtitle{overflow-wrap:anywhere}
.case-detail-header .record-subtitle{max-width:100%}
.case-detail-header .header-actions{align-items:center;gap:8px;flex-wrap:nowrap}
.case-detail-header .header-actions>.button,.case-work-actions>summary{padding-left:12px;padding-right:12px}
.case-work-actions{position:relative;flex-shrink:0}
.case-work-actions>summary{list-style:none;cursor:pointer;gap:7px}
.case-work-actions>summary::-webkit-details-marker{display:none}
.case-work-actions>summary::marker{content:""}
.case-work-actions>summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7}
.case-work-actions[open]>summary{border-color:#83aee8;background:#f1f6fe}
.case-work-actions[open]>summary svg{transform:rotate(180deg)}
.case-work-links{position:absolute;z-index:30;right:0;top:calc(100% + 7px);width:330px;max-width:calc(100vw - 32px);padding:6px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 32px rgba(19,33,58,.16)}
.case-work-links a{display:block;padding:11px 12px;border-radius:7px;font-size:12px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.case-work-links a:hover,.case-work-links a:focus-visible{background:#eaf3ff;color:var(--blue)}
.case-work-actions>summary:focus-visible,.case-work-links a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(max-width:1150px){.case-detail-header{grid-template-columns:minmax(0,1fr)}.case-detail-header .header-actions{justify-content:flex-start;margin-top:0}.case-detail-header .header-actions .button{margin-top:0}}
@media(max-width:520px){.case-detail-header{gap:16px}.case-detail-header .header-actions{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.case-detail-header .header-actions>.button,.case-detail-header .case-work-actions>summary{min-width:0;white-space:normal;text-align:center;line-height:1.4;padding-top:8px;padding-bottom:8px}.case-detail-header .case-work-actions{min-width:0}.case-work-actions>summary svg{flex-shrink:0}.case-detail-header .header-actions>.button{width:100%}.case-work-actions{position:static}.case-work-actions>summary{width:100%}.case-work-links{left:0;right:0;top:calc(100% + 7px);width:100%;max-width:none}}

.detail-main,.detail-side{min-width:0}
.workflow-stage .workflow-contract-children a.current{background:#eaf3ff;color:var(--blue);font-weight:800}
.workflow-stage{grid-template-columns:27px minmax(0,1fr)}
.workflow-stage>div{min-width:0}

/* The account name opens the same personal information page as the menu. */
.account-profile-link{align-self:flex-start;max-width:100%;border-radius:4px}
.account-profile-link:hover strong{text-decoration:underline;text-underline-offset:3px}
.account-profile-link:focus-visible{outline:2px solid #91b8f2;outline-offset:4px}

/* v122: retain layout while the complete menu receives its first scroll position. */
.navigation-scroll-pending .sidebar>.nav{visibility:hidden}
.sidebar>.nav{scroll-behavior:auto}

/* Keep filenames flexible and reserve a separate, visible column for deletion. */
.attachment-list-row,.file-list>.attachment-list-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;min-width:0}
.attachment-list-row>input[type=checkbox]{width:14px;height:14px;margin:0;flex:none}
.attachment-list-row>.attachment-file-info{min-width:0}
.attachment-list-row>form{margin:0;min-width:max-content;grid-column:3;justify-self:end}
.attachment-file-name{display:flex;align-items:center;justify-content:flex-start;gap:4px;min-width:0}
.attachment-file-name>label{display:block;min-width:0;overflow-wrap:anywhere;word-break:break-word;line-height:1.5;font-size:11px;font-weight:700;cursor:pointer}
.attachment-file-info>small{display:block;white-space:normal;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.attachment-preview-link{display:inline-flex;flex:0 0 24px;width:24px;height:24px;align-items:center;justify-content:center;padding:3px;border:0;border-radius:5px;background:transparent;color:var(--muted);line-height:1;white-space:nowrap}
.attachment-preview-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.attachment-preview-link:hover{background:var(--soft);color:var(--blue)}
.attachment-preview-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(max-width:520px){.attachment-list-row,.file-list>.attachment-list-row{gap:8px}.attachment-list-row>form .button{padding-right:10px;padding-left:10px}}


/* Additional purchase associations keep their own searchable picker. */

.purchase-linked-documents { display: grid; gap: 12px; min-width: 0; }
.purchase-additional-links { display: grid; gap: 12px; min-width: 0; }
.purchase-link-add { display: flex; align-items: flex-end; gap: 10px; }
.purchase-link-add > label { flex: 1; min-width: 0; }
.purchase-link-add > button { flex: 0 0 auto; min-height: 41px; margin-bottom: 0; }
.purchase-link-list { display: grid; gap: 7px; min-width: 0; }
.purchase-link-heading { color: #475467; font-size: 11px; font-weight: 700; }
.purchase-link-rows { display: grid; gap: 12px; }
.purchase-link-rows:empty { display: none; }
.purchase-link-row { min-width: 0; color: #475467; font-size: 11px; font-weight: 700; }
.purchase-link-control { display: flex; align-items: center; gap: 10px; height: 41px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); }
.purchase-link-value { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 400; }
.purchase-link-control > .button { flex: 0 0 30px; display: grid; place-items: center; padding: 0; min-height: 30px; line-height: 1; background: #eef2f6; border-color: #d0d8e3; color: #475467; }
.purchase-link-control > .button:hover { background: #d6e0ed; border-color: #aebed2; color: var(--ink); }
.purchase-link-control > .button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; background: #d6e0ed; }
.purchase-link-control > .button:active { background: #c3d1e2; }
.notice-attachments .bulk-toolbar, .module-files-panel .bulk-toolbar { flex-wrap: wrap; }
.notice-attachments .bulk-toolbar > .button, .module-files-panel .bulk-toolbar > .button { flex-shrink: 0; }
.module-summary-grid.project-summary-grid { grid-template-columns: minmax(0, 1fr); }

.workflow-panel h2 > small { display: block; font-size: 12px; margin-top: 6px; }

.attachment-download-toolbar{flex-wrap:wrap}.attachment-download-toolbar>.button{flex-shrink:0}

/* Document options and named company addresses. */
.switch-field { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.hwail-switch { position:relative; display:inline-flex; align-items:center; flex:none; width:52px; height:30px; padding:3px; border:0; border-radius:999px; background:#94a3b8; cursor:pointer; }
.hwail-switch-thumb { display:block; width:24px; height:24px; border-radius:50%; background:#fff; box-shadow:0 1px 4px #0003; transform:translateX(0); transition:transform .16s ease; }
.hwail-switch[aria-checked="true"] { background:#198754; }
.hwail-switch[aria-checked="true"] .hwail-switch-thumb { transform:translateX(22px); }
.hwail-switch:focus-visible { outline:3px solid #76aef5; outline-offset:3px; }
.address-row { display:grid; grid-template-columns:minmax(130px,1fr) minmax(180px,3fr) auto; align-items:start; gap:12px; margin-top:12px; }
.address-row button { margin-top:24px; width:32px; height:32px; padding:0; display:grid; place-items:center; }
.party-addresses { display:grid; gap:12px; }
.notice-file-row .attachment-file-info { flex:1; min-width:0; }
.quotation-language-toggle { display:flex; align-items:center; gap:12px; }
.quotation-language-toggle .hwail-switch[aria-checked="true"] { background:#2563eb; }
@media (max-width:600px) { .address-row { grid-template-columns:minmax(0,1fr) 32px; } .address-row label:first-child { grid-column:1; } .address-row label:nth-child(2) { grid-column:1; } .address-row button { grid-column:2; grid-row:1; } .notice-file-row { flex-wrap:wrap; } }
@media (prefers-reduced-motion:reduce) { .hwail-switch-thumb { transition:none; } }

.purchase-conditions .switch-field { display:flex; flex-direction:row; justify-content:flex-start; align-items:center; text-align:left; gap:10px; }
.purchase-conditions .switch-field > span:first-child { min-width:0; }

/* Match the other case labels; keep the bilingual hint on a single line. */
.quotation-language-toggle { gap:9px; font-size:11px; font-weight:500; }
.quotation-language-toggle > span { white-space:nowrap; }
.quotation-language-toggle .hwail-switch { width:42px; height:24px; min-height:24px; padding:3px; }
.quotation-language-toggle .hwail-switch-thumb { width:18px; height:18px; }
.quotation-language-toggle .hwail-switch[aria-checked="true"] .hwail-switch-thumb { transform:translateX(18px); }
.quotation-language-hint { display:block; max-width:100%; min-width:0; font-size:10px; font-weight:400; color:var(--muted); line-height:1.6; white-space:nowrap; }
.quotation-language-hint .language-hint-short { display:none; }
@media(max-width:600px) { .quotation-language-hint .language-hint-full { display:none; } .quotation-language-hint .language-hint-short { display:inline; } }

/* Keep the tax rate in the same title line, including narrow screens. */
[data-case-money-summary] [data-vat-summary-label]{white-space:nowrap}

/* Staff editor actions must fit the narrow desktop column and mobile panel. */
.staff-form-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);min-width:0;gap:8px}.staff-form-actions>.button{min-width:0;max-width:100%;white-space:normal;text-align:center;line-height:1.4;padding:10px 8px}.staff-form-actions>.button:only-child{grid-column:1/-1}


/* Restore the reviewed pre-v177 4/2/1 profile columns; retain current fields. */
.party-profile-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.party-profile-grid>.span-4{grid-column:1/-1}
@media(max-width:1180px){.party-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.party-profile-grid{grid-template-columns:minmax(0,1fr)}}

/* Preserve original Case columns; adjacent fields share the same row. */
.case-record-grid.case-record-rows{display:block}
.case-record-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}
.case-record-row>.record-field{border-bottom:0}
.case-record-row>.span-all,.case-record-row>.span-4{grid-column:1/-1}
@media(max-width:1180px){.case-record-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.case-record-row{grid-template-columns:minmax(0,1fr)}.case-record-row>.span-2{grid-column:1/-1}}

/* Match each Case search row to its visible filters; keep Reset at the right edge. */
.case-filter-grid>label,.case-filter-grid input,.case-filter-grid select{min-width:0}
.case-filter-grid>.filter-actions{justify-content:flex-end}
@media(min-width:1181px){
  .case-filter-grid{grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr)) auto}
  .case-filter-grid--all{grid-template-columns:minmax(0,1.4fr) repeat(5,minmax(0,1fr)) auto}
}
@media(min-width:1181px) and (max-width:1439px){
  .case-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .case-filter-grid>.filter-actions{grid-column:1/-1}
}
.notice-trash-search{width:100%;max-width:680px}
.notice-trash-search>label{display:block;margin:0 0 6px}
.notice-trash-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.notice-trash-search-row>input,.notice-trash-search-row>.button{box-sizing:border-box;min-height:42px;height:42px;margin:0}
.notice-trash-search-row>input{min-width:0;width:100%}
.notice-trash-search-row>.button{display:flex;align-items:center;justify-content:center;white-space:nowrap}
.notice-trash-delete-hint{margin:0;padding:0 20px 12px}
.notice-trash-toolbar{box-sizing:border-box;min-width:0;max-width:100%;flex-wrap:wrap}
.notice-trash-toolbar>.button{flex-shrink:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.notice-trash-toolbar>.checkbox-inline{min-width:0;max-width:100%;flex-wrap:wrap}

/* Align Bin chip text and compact actions with their own column headings. */
.trash-table.unified-trash-table{min-width:1050px}
.unified-trash-table .bin-type-cell .type-chip{margin-left:-8px}
.unified-trash-table .bin-action-cell{text-align:left;white-space:nowrap}
.unified-trash-table .bin-action-cell>form{display:inline-flex;margin:0}
/* v208: opaque outlined hand cursors avoid theme-dependent native hand rendering. */
.item-order-handle{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20stroke%3D%22%23172033%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9%2016V7a2%202%200%200%201%204%200v7V4a2%202%200%200%201%204%200v10V6a2%202%200%200%201%204%200v9V9a2%202%200%200%201%204%200v10c0%205-3%208-4%2010H11c-1-3-4-6-6-9l-2-3c-1-2%201-4%203-2l3%203z%22%2F%3E%3C%2Fsvg%3E") 14 14, grab;min-width:32px;width:32px;height:32px;padding:6px;flex:none}
.item-order-handle:active{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20stroke%3D%22%23172033%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M8%2016v-5a2%202%200%200%201%204%200v3-5a2%202%200%200%201%204%200v5-4a2%202%200%200%201%204%200v5-3a2%202%200%200%201%204%200v7c0%204-2%207-4%2010H11c-1-3-4-6-6-9l-2-3c-1-2%201-4%203-2l2%202z%22%2F%3E%3C%2Fsvg%3E") 14 14, grabbing}
.item-order-handle svg{width:18px;height:18px;fill:currentColor;pointer-events:none}
.item-order-dragging{opacity:.65}
.total-inclusion-field{min-width:0}

/* v195: compact, adjacent quotation selectors; other case layouts stay intact. */
.quotation-total-component-fields{grid-column:span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;align-items:start}
.quotation-total-component-fields>label,.quotation-total-component-fields select{min-width:0;width:100%}
.quotation-total-component-fields .quotation-set-price-note{white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){.quotation-total-component-fields{grid-column:1/-1;grid-template-columns:minmax(0,1fr)}}

/* v196: full item bar drag preview and a straight line in the insertion gap. */
.item-order-drag-preview{position:fixed;z-index:10000;pointer-events:none;margin:0;opacity:.72;box-sizing:border-box;transition:none}
.item-order-drag-preview .line-item-head{margin-bottom:0}
.item-order-insertion-line{position:fixed;z-index:9999;height:3px;background:#3265d8;border:0;border-radius:0;pointer-events:none;transform:translateY(-50%)}

/* v197: visible controls flow into the parent grid; pointer feedback stays full width. */
.quotation-total-component-fields{display:contents}
.item-order-handle{touch-action:none;user-select:none;-webkit-user-drag:none}
.item-order-active,.item-order-active *{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20stroke%3D%22%23172033%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M8%2016v-5a2%202%200%200%201%204%200v3-5a2%202%200%200%201%204%200v5-4a2%202%200%200%201%204%200v5-3a2%202%200%200%201%204%200v7c0%204-2%207-4%2010H11c-1-3-4-6-6-9l-2-3c-1-2%201-4%203-2l2%202z%22%2F%3E%3C%2Fsvg%3E") 14 14, grabbing!important;user-select:none!important}
.item-order-drag-preview{opacity:.94;background:#fff;max-width:none;box-shadow:0 8px 24px rgba(23,49,91,.18);will-change:left,top}

/* Personal shortcuts: two icons per row, with later tools continuing below. */
.account-card .app-utilities{display:grid;grid-template-columns:repeat(2,36px);grid-auto-rows:36px;justify-content:end;align-content:start;gap:8px}
/* Work calendar starts on Sunday. Keep event text and links independent. */
#shared-calendar .shared-calendar>thead>tr>th:first-child,
#shared-calendar .shared-calendar>tbody>tr>td:first-child .calendar-day-heading time{color:#c93645}
#shared-calendar .shared-calendar>thead>tr>th:last-child,
#shared-calendar .shared-calendar>tbody>tr>td:last-child .calendar-day-heading time{color:#1769e0}
#shared-calendar .shared-calendar>tbody>tr>td.outside-month:first-child .calendar-day-heading time{color:#b96c76}
#shared-calendar .shared-calendar>tbody>tr>td.outside-month:last-child .calendar-day-heading time{color:#658bc0}
#shared-calendar .shared-calendar>tbody>tr>td.calendar-today:first-child .calendar-day-heading time{background:#c93645;color:#fff}
#shared-calendar .shared-calendar>tbody>tr>td.calendar-today:last-child .calendar-day-heading time{background:#1769e0;color:#fff}

/* Progress values stay native: strict CSP may block inline width attributes. */
progress.progress-track{display:block;width:100%;height:8px;padding:0;border:0;border-radius:99px;overflow:hidden;appearance:none;-webkit-appearance:none;color-scheme:light;background:#e9eef5;color:#1769e0;accent-color:#1769e0}
progress.progress-track::-webkit-progress-bar{background:#e9eef5;border-radius:99px}
progress.progress-track::-webkit-progress-value{background:linear-gradient(90deg,#1769e0,#4d9cff);border-radius:99px}
progress.progress-track::-moz-progress-bar{background:linear-gradient(90deg,#1769e0,#4d9cff);border-radius:99px}
progress.progress-track.billing{color:#0f8066;accent-color:#0f8066}
progress.progress-track.billing::-webkit-progress-value{background:linear-gradient(90deg,#0f8066,#3eb792)}
progress.progress-track.billing::-moz-progress-bar{background:linear-gradient(90deg,#0f8066,#3eb792)}

.bin-layout{display:grid;gap:16px;min-width:0}.bin-layout>.panel,.bin-layout>.trash-summary-grid{margin:0}.bin-layout>.trash-summary-grid{gap:16px}.bin-layout .trash-stat{margin:0}
