:root{--bg:#f4f7fb;--panel:#fff;--line:#e5ebf3;--text:#17283e;--muted:#7c8da5;--blue:#3b8ef5;--blue-light:#eaf3ff;--orange:#f59e50;--green:#29a979;--purple:#8c76e8;--shadow:0 10px 30px rgba(27,55,92,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'Noto Sans SC','Microsoft YaHei',sans-serif;color:var(--text);font-size:13px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0} .app-shell{min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:40px}.brand{display:flex;align-items:center;gap:11px;width:238px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#3d95fb,#2867d8);color:#fff;font-weight:700;font-size:18px;box-shadow:0 5px 14px #3b8ef544}.brand-name{font-size:17px;font-weight:700;letter-spacing:1px}.brand-sub{font-size:10px;color:#9aa9bd;letter-spacing:.5px;margin-top:1px}.top-tabs{align-self:stretch;display:flex;align-items:center;gap:8px}.top-tab{height:100%;padding:0 25px;background:transparent;color:#8a9ab0;position:relative}.top-tab.active{color:var(--blue);font-weight:600}.top-tab.active:after{content:'';position:absolute;height:3px;background:var(--blue);left:18px;right:18px;bottom:-1px;border-radius:3px 3px 0 0}.top-actions{margin-left:auto;display:flex;align-items:center;gap:9px;color:var(--muted)}.sync-dot{width:7px;height:7px;border-radius:50%;background:#35bf86;box-shadow:0 0 0 4px #35bf8619}.sync-label{font-size:12px}.avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#eef4fc;color:#3b79ca;font-weight:600;margin-left:12px}.workspace{display:grid;grid-template-columns:244px minmax(580px,1fr) 330px;min-height:calc(100vh - 72px)}.sidebar{background:#f8fbff;border-right:1px solid var(--line);padding:28px 18px 18px;display:flex;flex-direction:column}.side-title,.content-heading,.detail-head,.table-toolbar,.table-footer,.detail-actions{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:10px;color:#a5b5c9;font-weight:600;letter-spacing:1.4px}.side-title h2,.detail-head h2{font-size:17px;margin:5px 0 0;letter-spacing:.3px}.ghost-btn{background:transparent;color:var(--blue);font-size:12px}.search-box{display:flex;align-items:center;gap:8px;height:38px;border:1px solid #dbe6f3;background:#fff;border-radius:7px;margin:23px 0 26px;padding:0 11px;color:#89a5c7}.search-box input{border:0;outline:0;width:100%;font-size:12px;color:var(--text)}.filter-section{margin-bottom:27px}.filter-label{display:block;font-size:11px;color:#899ab0;margin-bottom:11px;font-weight:600}.segmented{display:grid;grid-template-columns:repeat(4,1fr);background:#eaf0f7;border-radius:6px;padding:3px;gap:2px}.segmented button{padding:7px 2px;background:transparent;color:#778aa3;font-size:11px;border-radius:4px}.segmented button.selected{background:#fff;color:var(--blue);box-shadow:0 2px 6px #243d5e14;font-weight:600}.check-row{display:flex;align-items:center;gap:8px;color:#566b85;margin:13px 0;font-size:12px}.check-row input{accent-color:var(--blue);width:15px;height:15px}.side-footer{margin-top:auto}.tip-card{display:flex;gap:9px;padding:12px;border-radius:8px;background:#fff;border:1px solid #e5edf7;color:#70839b;margin-bottom:14px}.tip-icon{color:#e8ac55;font-size:16px}.tip-card strong{font-size:11px;color:#526983}.tip-card p{font-size:10px;line-height:1.6;margin:4px 0 0}.primary-btn,.secondary-btn,.danger-btn{border-radius:6px;padding:9px 15px;font-size:12px;transition:.2s}.primary-btn{background:var(--blue);color:#fff;box-shadow:0 5px 12px #3b8ef533}.primary-btn:hover{background:#287cde;transform:translateY(-1px)}.secondary-btn{background:#fff;color:#52708f;border:1px solid #d9e4f0}.secondary-btn:hover{border-color:#a9c7e9;color:var(--blue)}.danger-btn{background:#fff3f3;color:#dc6b6b;border:1px solid #f7d8d8}.wide{width:100%;padding:12px}.content{padding:30px 26px 26px;min-width:0}.content-heading{align-items:flex-end;margin-bottom:23px}.content-heading h1{font-size:25px;margin:6px 0 2px;letter-spacing:.5px}.content-heading p{color:var(--muted);font-size:12px;margin:0}.count-pill{font-size:11px;font-weight:500;background:#e8f2ff;color:var(--blue);padding:4px 8px;border-radius:12px;vertical-align:middle;margin-left:5px}.heading-actions{display:flex;gap:9px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat-card{height:77px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:9px;display:flex;align-items:center;gap:11px;padding:15px}.stat-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:9px;font-size:18px}.stat-icon.blue{color:var(--blue);background:#eaf3ff}.stat-icon.orange{color:var(--orange);background:#fff2e5}.stat-icon.purple{color:var(--purple);background:#f1edff}.stat-icon.green{color:var(--green);background:#e8f8f1}.stat-card small{display:block;color:#93a2b4;font-size:10px;margin-bottom:4px}.stat-card strong{font-size:19px;line-height:1}.table-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.table-toolbar{height:57px;border-bottom:1px solid var(--line);padding:0 17px}.toolbar-left{display:flex;gap:11px;align-items:center}.toolbar-left strong{font-size:13px}.toolbar-muted{font-size:11px;color:#a0aec0}.toolbar-right{display:flex;gap:8px}.toolbar-right select{border:1px solid #e1e8f1;background:#fff;border-radius:5px;color:#657994;padding:5px 9px;font-size:11px;outline:0}.icon-button{width:32px;height:32px;border-radius:6px;background:transparent;color:#7f91a8;font-size:18px}.icon-button:hover{background:#edf4fc;color:var(--blue)}.icon-button.bordered{border:1px solid #e0e8f1;font-size:16px}.table-wrap{min-height:365px;overflow:auto}table{width:100%;border-collapse:collapse;table-layout:fixed}th{height:40px;text-align:left;color:#96a5b6;font-weight:500;font-size:11px;background:#fbfcfe;border-bottom:1px solid var(--line);padding:0 11px}td{height:56px;border-bottom:1px solid #eef2f7;padding:0 11px;color:#53677f;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tr{cursor:pointer}tbody tr:hover{background:#f7fbff}tbody tr.active{background:#f0f7ff}th:nth-child(1){width:61px}th:nth-child(2){width:19%}th:nth-child(3){width:28%}th:nth-child(4){width:13%}th:nth-child(5){width:11%}th:nth-child(6){width:12%}th:nth-child(7){width:110px}th:nth-child(8){width:34px}.record-no{font-family:monospace;color:#9caabd}.issue-title{color:#273e5c;font-weight:600}.sub-text{color:#9aa9ba;font-size:10px;margin-top:4px}.status-badge,.severity-badge{display:inline-block;padding:4px 7px;border-radius:4px;font-size:10px}.status-badge.pending{color:#d98831;background:#fff2e3}.status-badge.processing{color:#7865d1;background:#f0edff}.status-badge.resolved{color:#259668;background:#e7f7ef}.severity-badge.high{color:#e56a5c;background:#fff0ee}.severity-badge.medium{color:#d28b32;background:#fff5e6}.severity-badge.normal{color:#718398;background:#eef2f6}.row-menu{color:#a5b1c0;font-size:17px}.empty-state{text-align:center;padding:80px 20px;color:#91a1b5}.empty-state[hidden]{display:none}.empty-illustration{margin:auto auto 12px;display:grid;place-items:center;width:42px;height:42px;background:#eef5ff;border-radius:14px;color:var(--blue);font-size:20px}.empty-state h3{color:#52677f;margin:0 0 7px;font-size:14px}.empty-state p{font-size:11px;margin:0 0 16px}.table-footer{height:42px;padding:0 17px;color:#9ba9b9;font-size:10px}.detail-panel{background:#fff;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.detail-head{padding:29px 22px 20px;border-bottom:1px solid var(--line);align-items:flex-start}.detail-head h2{font-size:18px}.detail-head .icon-button{font-size:25px;line-height:20px}.detail-scroll{padding:0 22px;overflow:auto;flex:1}.form-section{padding:21px 0;border-bottom:1px solid #edf1f6}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:16px}.section-title span{display:grid;place-items:center;width:21px;height:21px;border-radius:6px;background:#edf5ff;color:var(--blue);font-size:10px;font-weight:600}.section-title strong{font-size:12px;color:#3c536f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 11px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.full{grid-column:1/-1}.field span{font-size:11px;color:#8091a7}.field i{font-style:normal;color:#e77b6b;margin-left:2px}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe7f0;border-radius:5px;padding:8px 9px;outline:0;background:#fff;color:#344b67;font-size:11px;transition:.2s}.field input,.field select{height:34px}.field textarea{resize:vertical;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{border-color:#78aff0;box-shadow:0 0 0 3px #3b8ef512}.detail-actions{padding:15px 22px;border-top:1px solid var(--line);background:#fff}.detail-actions>div{display:flex;gap:8px}.detail-actions .primary-btn{padding-left:17px;padding-right:17px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,15px);background:#253c58;color:#fff;padding:10px 17px;border-radius:6px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;box-shadow:0 7px 20px #17283e33}.toast.show{opacity:1;transform:translate(-50%,0)}body.compact td{height:42px}body.dark{--bg:#182331;--panel:#243244;--line:#35465b;--text:#e4edf9;--muted:#a8b8ca}body.dark .topbar,body.dark .sidebar,body.dark .detail-panel,body.dark .table-card,body.dark .stat-card,body.dark .field input,body.dark .field select,body.dark .field textarea,body.dark .secondary-btn,body.dark .tip-card,body.dark .toolbar-right select{background:#243244;color:var(--text)}body.dark .sidebar{background:#1e2b3a}body.dark th{background:#202d3c;color:#9eafc3}body.dark td{color:#b1c0d0;border-color:#344458}body.dark .issue-title{color:#e4edf9}body.dark .search-box,body.dark .field input,body.dark .field select,body.dark .field textarea{border-color:#41546c}body.dark .brand-name,body.dark .top-tab.active,body.dark .toolbar-left strong{color:#e4edf9}@media(max-width:1180px){.workspace{grid-template-columns:215px minmax(520px,1fr) 300px}.content{padding-left:18px;padding-right:18px}.topbar{padding:0 18px;gap:14px}.brand{width:205px}}@media(max-width:930px){.workspace{grid-template-columns:200px 1fr}.detail-panel{position:fixed;z-index:5;top:72px;right:0;bottom:0;width:360px;box-shadow:-12px 0 35px #203b5a22}.stats-row{grid-template-columns:repeat(2,1fr)}.top-tab{padding:0 12px}.detail-panel.closed{transform:translateX(100%);transition:.25s}.detail-panel{transition:.25s}}
:root{--bg:#f4f7fb;--panel:#fff;--line:#e5ebf3;--text:#17283e;--muted:#7c8da5;--blue:#3b8ef5;--blue-light:#eaf3ff;--orange:#f59e50;--green:#29a979;--purple:#8c76e8;--report-fill:#DCEBFA;--shadow:0 10px 30px rgba(27,55,92,.06)}
/* 碰撞报告弹窗：参考截图的横向表格录入布局 */
.workspace{grid-template-columns:244px minmax(0,1fr)}
.content{grid-column:2}
.modal-backdrop{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:30px;background:rgba(22,43,70,.4);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.modal-backdrop.open{opacity:1;visibility:visible}
.detail-modal{width:min(1160px,calc(100vw - 70px));max-height:calc(100vh - 60px);background:#fff;border:1px solid #dbe5f0;border-radius:10px;box-shadow:0 22px 65px rgba(20,46,80,.25);display:flex;flex-direction:column;transform:translateY(14px) scale(.985);transition:transform .2s;overflow:hidden}
.modal-backdrop.open .detail-modal{transform:translateY(0) scale(1)}
.modal-close{font-size:25px!important;color:#8b9bb0!important}
.detail-modal .detail-head{padding:20px 25px 17px;background:#fff;align-items:center}
.detail-modal .detail-head h2{font-size:18px;margin-top:4px}
.detail-modal .detail-scroll{padding:20px 25px 24px;overflow:auto;flex:1}
.sheet-table{border:2px solid #000;border-right:0;border-bottom:0;background:#fff}
.sheet-row{display:grid;border-bottom:0}
.sheet-row.row-3{grid-template-columns:1fr 1fr 1fr}
.sheet-row.row-4{grid-template-columns:repeat(4,1fr)}
.sheet-row.row-wide{grid-template-columns:1fr}
.sheet-row .cell{min-width:0;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:stretch;gap:0;border-right:2px solid #000;border-bottom:2px solid #000;background:#fff}
.sheet-row .cell>span{display:flex;align-items:center;padding:9px 10px;background:var(--report-fill);border-right:2px solid #000;color:#294d73;font-size:11px;line-height:1.35}
.sheet-row .cell>span i{color:#df6f61;margin-left:2px}
.sheet-row .cell input,.sheet-row .cell select,.sheet-row .cell textarea{border:0;border-radius:0;box-shadow:none;min-width:0;background:#fff;color:#314964;padding:9px 10px;font-size:11px;outline:0}
.sheet-row .cell select.placeholder{color:#9aa9ba}
.multi-select-control{position:relative;min-width:0}
.multi-select-control.placeholder .multi-select-value{color:#9aa9ba}
.multi-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:38px;border:0;background:#fff;color:#314964;padding:9px 10px;text-align:left;font-size:11px;cursor:pointer}
.multi-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.multi-select-arrow{color:#8fa1b5;font-size:13px;margin-left:8px}
.multi-select-menu{position:absolute;z-index:60;top:calc(100% + 2px);left:0;right:0;min-width:170px;max-height:220px;overflow:auto;padding:5px;background:#fff;border:1px solid #a9c7e9;border-radius:4px;box-shadow:0 10px 24px rgba(25,55,91,.18)}
.multi-select-option{display:flex;align-items:center;gap:8px;padding:8px 7px;color:#405a76;font-size:11px;cursor:pointer;border-radius:3px}
.multi-select-option:hover{background:#eef6ff}
.multi-select-option input{width:14px!important;height:14px!important;accent-color:var(--blue);padding:0!important}
.multi-select-option span{white-space:nowrap}
.sheet-row .cell input,.sheet-row .cell select{height:38px}
.sheet-row .cell textarea{min-height:64px;resize:vertical;line-height:1.65}
.sheet-row .cell input:focus,.sheet-row .cell select:focus,.sheet-row .cell textarea:focus{box-shadow:inset 0 0 0 2px #75aef0;background:#fafdff}
.sheet-row.row-wide .cell{grid-template-columns:92px minmax(0,1fr)}
.sheet-row .reply-cell textarea{min-height:52px}
.sheet-row .helper-cell{background:#f9fbfd}
.sheet-row .helper-cell em{display:flex;align-items:center;padding:8px;color:#98a8ba;font-size:10px;font-style:normal;line-height:1.55}
.detail-modal .detail-actions{padding:15px 25px;background:#fbfcfe}
body.modal-open{overflow:hidden}
body.dark .modal-backdrop{background:rgba(5,14,26,.65)}
body.dark .detail-modal,body.dark .detail-modal .detail-head,body.dark .detail-modal .detail-actions,body.dark .sheet-table,body.dark .sheet-row .cell,body.dark .sheet-row .cell input,body.dark .sheet-row .cell select,body.dark .sheet-row .cell textarea{background:#243244;color:var(--text)}
body.dark .sheet-row .cell>span{background:var(--report-fill);color:#294d73;border-color:#7ea8d4}
body.dark .sheet-table,body.dark .sheet-row .cell{border-color:#50647a}
@media(max-width:930px){.workspace{grid-template-columns:200px minmax(0,1fr)}.detail-modal{width:calc(100vw - 34px);max-height:calc(100vh - 30px)}.modal-backdrop{padding:15px}.detail-modal .detail-scroll{padding:15px}.sheet-row.row-3,.sheet-row.row-4{grid-template-columns:1fr 1fr}.sheet-row .cell{grid-template-columns:82px minmax(0,1fr)}}
@media(max-width:620px){.topbar{height:62px}.workspace{grid-template-columns:1fr}.content{grid-column:1}.sidebar{display:none}.modal-backdrop{padding:8px}.detail-modal{width:100%;max-height:calc(100vh - 16px)}.detail-modal .detail-head{padding:15px}.detail-modal .detail-scroll{padding:10px}.sheet-row.row-3,.sheet-row.row-4{grid-template-columns:1fr}.sheet-row .cell{grid-template-columns:90px minmax(0,1fr)}}
@media print{body{background:#fff}.topbar,.sidebar,.content,.toast{display:none!important}.modal-backdrop{position:static;display:flex;opacity:1;visibility:visible;padding:0;background:#fff}.detail-modal{width:100%;max-height:none;border:0;box-shadow:none}.detail-modal .detail-head{padding:0 0 12px}.detail-modal .detail-scroll{overflow:visible;padding:0}.detail-modal .detail-actions,.modal-close{display:none!important}}
.attachment-cell{grid-template-columns:92px minmax(0,1fr)!important}
.image-upload-area{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:8px 10px;min-height:64px;background:#fff}
.image-upload-area input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.upload-trigger{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border:1px dashed #8bb9ed;border-radius:5px;background:#f3f8ff;color:#347fda;font-size:11px;cursor:pointer;white-space:nowrap}
.upload-trigger:hover{border-color:#3b8ef5;background:#eaf3ff}
.image-upload-area>em{color:#9aaabd;font-size:10px;font-style:normal}
.image-previews{display:flex;gap:8px;width:100%;flex-wrap:wrap}
.image-note-field{display:flex;flex-direction:column;gap:5px;width:100%;margin-top:3px;color:#8b9caf;font-size:10px}
.image-note-field textarea{width:100%;min-height:48px;resize:vertical;border:1px solid #dfe7f0!important;border-radius:4px!important;background:#fbfdff!important;color:#314964;padding:7px 8px!important;line-height:1.55}
.image-note-field textarea:focus{border-color:#78aff0!important;box-shadow:0 0 0 2px #3b8ef512!important;background:#fff!important}
.image-preview{position:relative;width:72px;height:58px;border:1px solid #d9e5f0;border-radius:5px;overflow:hidden;background:#f6f9fc}
.image-preview img{width:100%;height:100%;display:block;object-fit:cover}
.remove-image{position:absolute;right:3px;top:3px;width:18px;height:18px;border-radius:50%;background:rgba(30,46,66,.72);color:#fff;font-size:13px;line-height:17px;text-align:center;padding:0;cursor:pointer}
.remove-image:hover{background:#e46e69}
body.dark .image-upload-area{background:#243244}body.dark .upload-trigger{border-color:#648ebc;background:#2c4a69;color:#dbeaff}body.dark .image-upload-area>em{color:#a9b8c9}body.dark .image-preview{border-color:#50647a;background:#304255}body.dark .image-note-field textarea{background:#304255!important;color:#e4edf9;border-color:#50647a!important}
@media print{.attachment-cell{display:none!important}}
.project-picker{display:flex;align-items:center;gap:7px;padding:5px 8px 5px 10px;border:1px solid #dce7f2;border-radius:6px;background:#f8fbff;color:#71849d;font-size:10px;white-space:nowrap}
.project-picker select{max-width:150px;border:0;outline:0;background:transparent;color:#2f557e;font-size:11px;font-weight:600;cursor:pointer}
.overview-view{min-width:0}.overview-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.overview-heading h1{font-size:25px;margin:6px 0 2px}.overview-heading p{color:var(--muted);font-size:12px;margin:0}.overview-paper{background:#fff;border:1px solid #dfe8f1;box-shadow:var(--shadow);border-radius:3px;padding:30px 40px 42px;min-height:610px}.overview-banner{background:#c7e3b9;color:#1b2a24;text-align:center;font-family:SimSun,'宋体',serif;font-size:27px;font-weight:700;letter-spacing:2px;padding:15px 12px}.overview-meta{display:grid;grid-template-columns:1.4fr 1fr .6fr;gap:20px;padding:14px 18px 26px;font-family:SimSun,'宋体',serif;font-size:17px;font-weight:600}.overview-meta strong{color:#1d3855;margin-left:5px}.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:36px 35px}.overview-block{min-height:138px}.overview-block h3{display:inline-block;background:#c7e3b9;padding:6px 16px;margin:0 0 9px;color:#1f2e25;font-family:SimSun,'宋体',serif;font-size:14px;font-weight:700;min-width:132px;text-align:center}.overview-line{display:flex;justify-content:space-between;gap:18px;padding:3px 13px 3px 14px;color:#41546a;font-family:SimSun,'宋体',serif;font-size:13px;border-bottom:1px dashed #edf1ed}.overview-line strong{color:#17283e;font-weight:400}.overview-empty{padding:7px 14px;color:#a1adba;font-size:11px}.locked-field{background:#f0f5fa!important;color:#5c7897!important;cursor:not-allowed}.overview-view[hidden],#issueView[hidden]{display:none}
body.dark .project-picker{background:#243244;border-color:#40556c;color:#aab9c9}body.dark .project-picker select{color:#dceaff}body.dark .overview-paper{background:#243244;border-color:#40556c}body.dark .overview-banner,body.dark .overview-block h3{background:#496844;color:#eef7eb}body.dark .overview-meta strong,body.dark .overview-line strong{color:#e5effb}body.dark .overview-line{color:#b5c3d1;border-color:#40556c}
@media(max-width:1180px){.project-picker select{max-width:108px}.overview-paper{padding:25px}.overview-grid{gap:25px 18px}.overview-meta{font-size:14px}}
@media(max-width:930px){.top-actions .project-picker{display:none}.overview-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.overview-meta{grid-template-columns:1fr 1fr}.overview-meta>div:last-child{grid-column:1/-1}}
@media(max-width:620px){.overview-paper{padding:15px}.overview-banner{font-size:21px}.overview-meta{padding:12px 4px 20px;grid-template-columns:1fr;font-size:14px}.overview-meta>div:last-child{grid-column:auto}.overview-grid{grid-template-columns:1fr;gap:22px}.overview-heading{align-items:flex-start;gap:12px;flex-direction:column}}
.form-designer-card,.print-template-card{grid-column:1/-1}.form-designer-card{padding:0;overflow:hidden}.form-designer-card>.settings-card-head,.print-template-card>.settings-card-head{padding:19px;border-bottom:1px solid var(--line)}.designer-actions{display:flex;gap:8px}.form-designer{display:grid;grid-template-columns:210px minmax(340px,1fr) 245px;min-height:470px}.designer-palette,.designer-properties{background:#f8fbff;padding:16px}.designer-palette{border-right:1px solid var(--line)}.designer-properties{border-left:1px solid var(--line)}.designer-section-title{font-size:10px;color:#91a2b5;font-weight:700;letter-spacing:.5px;margin:7px 0 8px}.designer-section-title:not(:first-child){margin-top:18px}.palette-list{display:grid;gap:6px}.palette-item{display:flex;align-items:center;gap:7px;width:100%;padding:8px 9px;border:1px solid #e2eaf3;border-radius:5px;background:#fff;color:#526b86;text-align:left}.palette-item:hover{border-color:#90b9e6;background:#f0f7ff;color:#287cde}.palette-item>span{color:#3b8ef5;font-size:15px;line-height:1}.palette-item b{font-size:11px;font-weight:600}.palette-item em{margin-left:auto;color:#9aabbd;font-size:9px;font-style:normal}.designer-canvas-wrap{min-width:0;background:#f1f5fa}.designer-canvas-head{height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line);background:#fff}.designer-canvas-head strong{font-size:12px}.designer-canvas-head span{font-size:10px;color:#9aa9ba}.designer-canvas{padding:16px;display:grid;gap:8px;max-height:500px;overflow:auto}.designer-field{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #dbe6f2;border-radius:6px;background:#fff;cursor:pointer}.designer-field:hover,.designer-field.selected{border-color:#70aaf0;box-shadow:0 0 0 2px #70aaf01c}.designer-field.layout-field{background:#f5f9fd;border-style:dashed}.designer-field-main{display:flex;align-items:center;gap:10px;min-width:0}.drag-handle{color:#9badbd;font-size:16px}.designer-field-main strong{display:block;font-size:11px;color:#334f6e}.designer-field-main small{display:block;font-size:9px;color:#a0afbf;margin-top:3px}.designer-field-tools{display:flex;align-items:center;gap:4px;white-space:nowrap}.designer-field-tools em{font-size:9px;color:#94a4b4;font-style:normal}.designer-field-tools button{width:22px;height:22px;border:1px solid #dce7f1;border-radius:4px;background:#f7fafd;color:#66819d}.designer-field-tools button:hover{color:#287cde;border-color:#9ac1eb}.properties-body{padding:16px}.properties-empty{padding:30px 8px;color:#9baaba;text-align:center;font-size:11px}.property-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.property-field span{font-size:10px;color:#8498ae}.property-field input{height:33px;border:1px solid #dce6f0;border-radius:5px;background:#fff;color:#405b78;padding:0 8px;font-size:11px;outline:0}.property-field input:focus{border-color:#72acef}.property-field input:disabled{background:#f1f5f9;color:#93a2b2}.property-check{display:flex;align-items:center;gap:8px;margin:4px 0 15px;color:#536b85;font-size:11px}.property-check input{accent-color:var(--blue)}.custom-layout-divider{height:1px;background:#b7c7d8;margin:10px 0}.custom-layout-title{padding:9px 14px;background:#edf5ff;color:#426d99;font-weight:700;font-size:12px}.custom-layout-table{padding:16px;border:1px dashed #a8bdd3;background:#f9fbfd;color:#9aabba;text-align:center;font-size:11px}.disabled-field-hint{display:flex;align-items:center;padding:9px 10px;color:#9aabba;font-size:10px;background:#f9fbfd}.print-template-card{padding:0;overflow:hidden}.template-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 19px;border-bottom:1px solid var(--line)}.template-upload{display:inline-flex;align-items:center;border-radius:6px;background:var(--blue);color:#fff;padding:9px 14px;font-size:12px;cursor:pointer;box-shadow:0 5px 12px #3b8ef533}.template-upload input{display:none}.template-limit{color:#9aa9ba;font-size:10px;margin-right:auto}.template-current{min-height:64px;padding:13px 19px;border-bottom:1px solid var(--line)}.template-empty{color:#9caaba;font-size:11px}.template-file{display:flex;align-items:center;gap:10px}.template-file-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:5px;background:#eaf3ff;color:#397fcf;font-size:10px;font-weight:700}.template-file strong,.template-file small{display:block}.template-file strong{font-size:12px;color:#45627f}.template-file small{font-size:10px;color:#9caaba;margin-top:4px}.variable-panel{padding:16px 19px 20px}.variable-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.variable-head strong{font-size:12px;color:#45627f;margin-right:10px}.variable-head span{font-size:10px;color:#9aa9ba}.variable-list{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:7px 12px}.variable-row{display:grid;grid-template-columns:105px 85px minmax(0,1fr);align-items:center;gap:7px;padding:7px 8px;border:1px solid #e3ebf3;border-radius:5px;background:#fbfdff}.variable-row code{color:#397fcf;font-size:10px}.variable-row>span{color:#6e829a;font-size:10px}.variable-row select{height:27px;min-width:0;border:1px solid #dce6f0;border-radius:4px;background:#fff;color:#526b86;font-size:10px;padding:0 4px}
.row-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.row-actions button{padding:4px 6px;border-radius:4px;font-size:10px;background:#f4f8fc;color:#53728f}.row-actions .row-edit:hover,.row-actions .row-copy:hover{background:#e8f2ff;color:#2f7edc}.row-actions .row-delete{color:#c87575;background:#fff5f5}.row-actions .row-delete:hover{background:#ffe9e9;color:#d65353}.heading-actions{flex-wrap:wrap}.heading-actions .secondary-btn{padding:8px 10px}.record-no{font-weight:600;color:#6a82a0}
.record-list-table td{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;vertical-align:top;height:auto;min-height:56px;padding-top:10px;padding-bottom:10px;line-height:1.55}
.record-list-table th{white-space:nowrap;overflow:visible;overflow-wrap:normal;word-break:keep-all;line-height:1.35}
.record-list-table .list-cell-code{width:70px}.record-list-table .list-cell-description{min-width:180px}.record-list-table .list-cell-projectName{min-width:150px}.record-list-table [data-action-column]{width:112px}.record-list-table .row-actions{flex-wrap:wrap}
.list-column-settings{display:grid;gap:9px;margin-top:18px}.list-column-setting{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);align-items:center;gap:12px;padding:10px 12px;border:1px solid #e1eaf3;border-radius:5px;background:#fbfdff;color:#526b85;font-size:11px}.list-column-setting.fixed{background:#f1f6fb;color:#8799ad}.list-column-check{display:flex;align-items:center;gap:8px}.list-column-check input{width:15px;height:15px;accent-color:var(--blue)}.list-column-title-input{height:32px;border:1px solid #dce6f0;border-radius:4px;padding:0 8px;background:#fff;color:#405b78;font-size:11px}.list-column-title-input:focus{outline:0;border-color:#78aff0}.list-column-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
body.dark .list-column-setting{background:#243244;border-color:#40556c;color:#d5e4f3}body.dark .list-column-setting.fixed{background:#304255;color:#aab9c9}body.dark .list-column-title-input{background:#304255;color:#e4edf9;border-color:#50647a}
@media(max-width:1180px){.row-actions{gap:2px}.row-actions button{padding:4px 4px}.heading-actions .secondary-btn{padding:7px 8px}}
.table-wrap{max-height:min(58vh,620px);overflow:auto;scroll-behavior:smooth}.table-wrap table{min-width:980px}.table-toolbar .toolbar-right{align-items:center}.table-toolbar .toolbar-right .icon-button{font-size:14px}.filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px 7px;margin-top:12px}.filter-fields label{display:flex;flex-direction:column;gap:5px;color:#8a9aae;font-size:10px}.filter-fields input,.filter-fields select{width:100%;height:29px;border:1px solid #dce6f0;border-radius:4px;background:#fff;color:#506983;padding:5px 6px;outline:0;font-size:10px}.filter-fields input:focus,.filter-fields select:focus{border-color:#78aff0}.filter-fields label:last-child{grid-column:1/-1}.filter-fields label:last-child input{display:inline-block;width:calc(50% - 3px);margin-right:4px}.settings-view{min-width:0}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:19px;box-shadow:var(--shadow)}.settings-card-head h2{font-size:15px;margin:0 0 5px}.settings-card-head p{font-size:11px;color:#95a4b5;margin:0}.setting-add{display:flex;gap:8px;margin:17px 0 14px}.setting-add input{flex:1;min-width:0;height:35px;border:1px solid #dfe7f0;border-radius:5px;padding:0 9px;outline:0;font-size:11px;color:#344b67}.setting-add .primary-btn{padding:7px 12px}.option-list{display:flex;flex-wrap:wrap;gap:8px;min-height:33px}.option-chip{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#f0f6fd;color:#55718f;border-radius:5px;font-size:11px}.option-chip button{width:17px;height:17px;padding:0;border-radius:50%;background:#dce8f5;color:#6d89a3;line-height:15px;font-size:13px}.option-chip button:hover{background:#f3cccc;color:#bd6565}.settings-view[hidden]{display:none}body.dark .filter-fields input,body.dark .filter-fields select,body.dark .settings-card,body.dark .setting-add input{background:#243244;color:var(--text);border-color:#40556c}body.dark .option-chip{background:#30465d;color:#d5e4f3}body.dark .option-chip button{background:#46617d;color:#e6f0fb}@media(max-width:930px){.settings-grid{grid-template-columns:1fr}.table-wrap{max-height:54vh}}@media(max-width:620px){.table-toolbar{height:auto;min-height:57px;gap:8px;flex-wrap:wrap;padding:9px 12px}.toolbar-right{flex-wrap:wrap;justify-content:flex-end}.filter-fields{grid-template-columns:1fr}.filter-fields label:last-child{grid-column:auto}.settings-grid{gap:11px}}
.record-list-table .list-status-select{min-width:86px;height:28px;border:1px solid transparent;border-radius:4px;padding:3px 22px 3px 7px;outline:0;font-size:10px;cursor:pointer;background:#fff2e3;color:#d98831}
.record-list-table .list-status-select.resolved{background:#e7f7ef;color:#259668}
.record-list-table .list-status-select:focus{border-color:#78aff0;box-shadow:0 0 0 3px #3b8ef512}
body.dark .record-list-table .list-status-select{background:#4a3d2d;color:#f0b56d}
body.dark .record-list-table .list-status-select.resolved{background:#25483b;color:#78d0aa}
