.actions>div{grid-template-columns:repeat(3,1fr)}
.hero-actions,.history-actions,.save-options,.modal-tabs{display:flex;gap:8px}
.history-actions button{padding:8px 11px}
.modal{position:fixed;inset:0;background:#102d3399;z-index:100;display:grid;place-items:center;padding:24px}
.modal[hidden]{display:none}
.modal-card{background:#fff;border-radius:18px;width:min(1180px,96vw);max-height:90vh;overflow:auto;padding:22px;box-shadow:0 25px 80px #0005}
.modal-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-22px;background:#fff;padding:8px 0 14px;z-index:2}
.modal-head h2{margin:0}.modal-head button{font-size:22px;padding:3px 10px}.modal-tabs{margin-bottom:16px}.modal-tabs button.active{background:var(--teal);color:#fff}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;min-width:900px}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{background:#173f46;color:#fff;font-size:12px}td{font-size:12px}
.quote-info{display:flex;gap:28px;flex-wrap:wrap;padding:16px;background:var(--soft);border-radius:12px;margin-bottom:12px}.save-options button{min-width:150px}
.field-tip{display:inline-grid;place-items:center;margin-left:6px;width:16px;height:16px;border-radius:50%;background:#d76d38;color:#fff;font-size:11px;font-style:normal;cursor:help;vertical-align:middle}
.material-picker{position:relative}.material-trigger{width:100%;min-height:42px;text-align:left;display:flex;align-items:center;gap:8px}.material-trigger small{color:#748078}.material-menu,.material-submenu{position:absolute;z-index:30;top:calc(100% + 4px);width:min(260px,calc(100vw - 16px));max-height:360px;overflow:auto;background:#fff;border:1px solid #d8d3c7;border-radius:10px;box-shadow:0 14px 34px #25332b26;padding:6px}.material-menu{left:0}.material-submenu{left:260px;top:0}.material-menu button,.material-submenu button{width:100%;border:0;background:transparent;display:flex;justify-content:space-between;align-items:center;padding:9px 10px;text-align:left;border-radius:7px;font:500 14px/1.25 "Microsoft YaHei",sans-serif}.material-menu button b,.material-submenu button b{font:inherit}.material-menu button:hover,.material-submenu button:hover{background:#edf4ef}.material-submenu button span{color:#748078;font:inherit}.material-submenu-back{display:none!important;color:var(--teal);font-weight:700!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;margin-bottom:4px}.material-submenu-stacked .material-submenu-back{display:flex!important}
@media(max-width:680px){.hero{flex-direction:column}.hero-actions{width:100%}.hero-actions button{flex:1}.history-actions{grid-column:span 2}.history-actions button{flex:1}.modal{padding:8px}.modal-card{padding:14px;width:100%;max-height:96vh}.modal-head{top:-14px}}
textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#fbfcfa;color:var(--ink);font:inherit;resize:vertical}.danger{color:#a33!important;border-color:#d9aaa2!important}.feedback-text{white-space:pre-wrap;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.global-notice{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:320;width:min(420px,calc(100vw - 32px));padding:13px 16px;border-radius:11px;background:#8f3f2f;color:#fff;box-shadow:0 14px 38px #102d3355;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.global-notice.success{background:#26715c}.global-notice[hidden]{display:none}
.product-card{margin-bottom:18px}.file-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.file-list span{display:flex;align-items:center;gap:5px;background:var(--soft);padding:6px 9px;border-radius:8px;font-size:12px}.file-list span button{border:0;background:transparent;padding:0 3px;color:#a33}.product-summary,.attachment-nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:12px;background:var(--soft);border-radius:10px;margin-bottom:12px}.attachment-nav{justify-content:space-between}.attachment-image{display:block;max-width:100%;max-height:65vh;margin:auto}.attachment-frame{width:100%;height:65vh;border:1px solid var(--line);border-radius:10px;background:#f1f2ef}.quote-document-frame{height:68vh}.attachment-unsupported,.preview-error,.preview-loading{text-align:center;padding:60px 20px;background:var(--soft);border-radius:12px}.attachment-unsupported p,.preview-error p{color:var(--muted);max-width:720px;margin:12px auto 20px;line-height:1.7}.preview-loading{display:grid;gap:8px;color:var(--teal)}.preview-loading span,.preview-note{color:var(--muted);font-size:12px}.preview-toolbar,.preview-pages,.preview-formats,.preview-download,.preview-error-actions{display:flex;align-items:center;gap:8px}.preview-toolbar{justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.preview-pages,.preview-error-actions{justify-content:center}.preview-formats button.active{background:var(--teal);border-color:var(--teal);color:#fff}.preview-pages button:disabled,.attachment-nav button:disabled{cursor:not-allowed;opacity:.45}.attachment-pages{margin:10px 0}.preview-download{justify-content:flex-end;margin-top:10px}.preview-download a,.download-link{display:inline-flex;border:1px solid var(--line);border-radius:9px;padding:9px 12px;color:var(--teal);text-decoration:none;background:#fff}.preview-note{text-align:center;margin:9px 0 0}.pinned{border-color:var(--accent);background:#fffaf5}
.login-gate{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#2d6872 0,#163b42 40%,#0e292f 100%)}.login-gate[hidden]{display:none}.login-card{width:min(430px,100%);display:grid;gap:16px;background:#fff;border-radius:22px;padding:34px;box-shadow:0 30px 90px #001b}.login-card h1{margin:10px 0 0}.login-card>p{margin:0;color:var(--muted)}.login-brand{display:flex;flex-direction:column;color:var(--teal)}.login-brand b{font-size:22px}.login-brand span{font-size:11px;letter-spacing:2px;color:var(--muted)}.form-message{min-height:20px;color:#b25232!important}.account-box{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:auto;white-space:nowrap}.account-box b{font-size:12px}.account-box button{padding:6px 9px;background:#ffffff12;color:#fff;border-color:#ffffff2b}.user-item{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(130px,.7fr) minmax(130px,.7fr) auto;align-items:end;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px}.user-item span{display:block;color:var(--muted);font-size:12px}.compact-field{display:grid;gap:5px}.compact-field span{font-size:11px;color:var(--muted)}.form-button{justify-content:end}.modal-action{margin-top:14px}
.material-price-tools{display:grid;grid-template-columns:2fr 1fr;gap:12px}.material-price-item{display:grid;grid-template-columns:minmax(230px,1.4fr) minmax(120px,.7fr) minmax(150px,.8fr) auto;gap:14px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:12px}.material-price-item>div:first-child{align-self:center}.material-price-item>div:first-child span,.material-price-template{display:block;color:var(--muted);font-size:12px;margin-top:4px}.material-price-item .field{margin:0}.material-price-actions{display:flex;gap:8px;align-items:center}.price-missing{color:#b25232}.price-ready{color:#26715c}
.history-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.history-detail-grid section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;padding:14px;background:var(--soft);border-radius:12px}.history-detail-grid section:nth-child(3){grid-column:span 2;grid-template-columns:repeat(3,minmax(0,1fr))}.history-detail-grid h3{grid-column:1/-1;margin:0 0 3px;color:var(--teal);font-size:14px}.history-detail-grid section div{min-width:0}.history-detail-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.history-detail-grid b{display:block;font-size:12px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:900px){.account-box b{display:none}.user-item{grid-template-columns:1fr 1fr}.user-item>div:first-child{grid-column:span 2}.preview-toolbar{align-items:stretch}.preview-formats,.preview-pages{width:100%}.preview-formats button,.preview-pages button{flex:1}.quote-document-frame,.attachment-frame{height:62vh}.material-price-tools{grid-template-columns:1fr}.material-price-item{grid-template-columns:1fr 1fr}.material-price-item>div:first-child{grid-column:span 2}.material-price-actions{justify-content:flex-end}}
@media(max-width:560px){.material-price-item{grid-template-columns:1fr}.material-price-item>div:first-child{grid-column:auto}.material-price-actions{justify-content:stretch}.material-price-actions button{flex:1}}
@media(max-width:680px){.history-detail-grid{grid-template-columns:1fr}.history-detail-grid section,.history-detail-grid section:nth-child(3){grid-column:auto;grid-template-columns:1fr 1fr}}
.template-update-card{max-width:none}.template-current{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft);margin-bottom:16px}.template-current-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.template-current-head span,.template-current-head b{display:block}.template-current-head span{font-size:11px;color:var(--muted);margin-bottom:4px}.template-current-head strong{font-family:Consolas,monospace;color:var(--teal);font-size:13px}.template-meta{display:flex;gap:8px 20px;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-size:11px}.template-upload-row{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:14px;align-items:end}.template-upload-row button{margin:0;height:43px}.template-impact-note{padding:10px 12px;border-radius:9px;background:#eef5f3;color:#47646a;font-size:12px;line-height:1.7}.template-validation-card{margin:18px 0;border:1px solid #a7cabf}.template-validation-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.template-validation-head span{color:#26715c;font-size:12px;font-weight:700}.template-validation-head h2{margin:4px 0}.template-validation-head small{color:var(--muted);overflow-wrap:anywhere}.template-diff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.template-diff-grid>div{padding:13px;border-radius:10px;background:var(--soft)}.template-diff-grid span{display:block;color:var(--muted);font-size:11px}.template-diff-grid b{display:block;margin-top:4px;font-size:22px;color:var(--teal)}.template-check-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.template-check-list span{padding:6px 9px;border-radius:999px;font-size:11px}.template-check-success{background:#e5f3ed;color:#26715c}.template-check-error{background:#f8e9e6;color:#a33}.template-warning{margin:8px 0;padding:10px 12px;border-left:3px solid #d79b38;background:#fff8e8;color:#76521b;font-size:12px;line-height:1.6}.template-diff-list{margin-top:12px}.template-diff-list b{font-size:12px;color:var(--teal)}.template-diff-list p{margin:5px 0;color:var(--muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.template-price-table{margin-top:13px}.template-price-table table{min-width:700px}.template-history-title{margin-top:26px}.template-history-item{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(160px,.7fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px}.template-history-item span,.template-history-item small{display:block;color:var(--muted);font-size:11px;margin-top:4px;overflow-wrap:anywhere}.template-history-summary{font-size:12px;color:var(--muted)}.template-history-current{border-color:#91bdb0;background:#f4faf8}.template-history-current>strong{color:#26715c}.template-confirm>p{line-height:1.7}.template-confirm-check{display:flex;align-items:flex-start;gap:9px;padding:13px;background:var(--soft);border-radius:10px;margin-top:14px}.template-confirm-check input{width:auto;margin-top:3px}.template-confirm-check span{font-size:13px;line-height:1.6}.template-confirm .modal-action{width:100%}
@media(max-width:680px){#feedback .history-item,#feedbackAdmin .history-item{grid-template-columns:minmax(0,1fr)}#feedback .history-item>*,#feedbackAdmin .history-item>*{min-width:0;max-width:100%}#feedback .history-actions,#feedbackAdmin .history-actions{grid-column:auto;width:100%;flex-wrap:wrap}#feedbackAdmin .history-actions button{flex:1 1 88px}}
@media(max-width:680px){#templateUpdates .page-title{align-items:stretch;flex-direction:column;gap:12px}#templateUpdates .page-title>button{width:100%}.template-upload-row{grid-template-columns:1fr}.template-upload-row button{width:100%}.template-validation-head{align-items:stretch;flex-direction:column}.template-validation-head button{width:100%}.template-diff-grid{grid-template-columns:1fr 1fr}.template-history-item{grid-template-columns:1fr}.template-history-item button{width:100%}.template-current-head{align-items:flex-start;flex-direction:column}.template-current-head strong{overflow-wrap:anywhere}.template-meta{display:grid;gap:5px}.template-diff-list p{overflow-wrap:anywhere}}
