/* 统一柔和的视觉层次；关联字段紧凑，业务分组保持呼吸感。 */
:root{--calm-ink:#273548;--calm-muted:#748195;--calm-line:#dfe5ec;--calm-accent:#52718f}
body{color:var(--calm-ink);background:#f5f7fa;line-height:1.55}
button,input,select,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:var(--calm-line);border-radius:8px;color:var(--calm-ink);max-width:100%;box-sizing:border-box}
input:not([type=checkbox]):not([type=radio]),select{min-height:40px}textarea{padding:10px 12px;line-height:1.6}
button{border-radius:8px;min-height:36px;transition:background .15s,border-color .15s}button.primary{background:#52718f;border-color:#52718f;box-shadow:none}button.primary:hover{background:#435f7b;border-color:#435f7b}button:disabled{opacity:.5}
input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;flex:0 0 16px;width:16px!important;height:16px!important;min-height:16px;padding:0;margin:0;vertical-align:middle;border:1px solid #b7c3cf;border-radius:4px;background:#fff;cursor:pointer}
input[type=checkbox]:checked{background:#e5edf4;border-color:#8ba2b8}input[type=checkbox]:checked:before{content:'';width:8px;height:4px;border-left:2px solid #4e6b86;border-bottom:2px solid #4e6b86;transform:translateY(-1px) rotate(-45deg)}
input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}input[type=checkbox]:indeterminate{background:#e5edf4}input[type=checkbox]:indeterminate:before{content:'';width:8px;height:2px;background:#4e6b86}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid #90a9c1;outline-offset:2px;box-shadow:none}
.sub,small{color:var(--calm-muted);line-height:1.6}.modal-body{padding:24px 28px}.modal-head{padding:20px 28px}.modal-foot{padding:16px 28px;background:#fafbfd;border-top:1px solid var(--calm-line);gap:12px}
.modal-body form>label,.form-grid>label{display:flex;flex-direction:column;gap:7px}.modal-body p{margin:8px 0 14px}.modal-body h2{margin-bottom:10px}.form-grid{gap:18px 22px}
.modal-body fieldset{border:1px solid var(--calm-line);border-radius:10px;padding:16px 18px;margin:0;min-width:0}.modal-body legend{font-weight:600;padding:0 7px;color:#3e5064}
.modal-body .reminder-check,.module-choices>label{display:flex;flex-direction:row;align-items:center;gap:9px;min-height:28px;margin:0}
.alert-rule-form{gap:22px}.alert-rule-form>label{gap:7px}.alert-rule-form fieldset>label{margin-top:14px}.alert-rule-form fieldset>.sub{margin:8px 0 0;font-size:12px}.alert-rule-form .rule-grid{gap:14px}.alert-rule-form #rule-frequency-details{margin-top:14px}
#rule-recipient-picker{margin-top:22px}.picker-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.picker-heading label{font-weight:500}
.search-picker{position:relative;margin-top:8px}.search-picker>input:not([type=hidden]){width:100%}.picker-results{position:absolute;z-index:8;top:calc(100% + 6px);left:0;right:0;border:1px solid var(--calm-line);border-radius:9px;background:white;box-shadow:0 8px 24px #23384d14;max-height:260px;overflow:auto;padding:5px}
.picker-results[hidden]{display:none}.picker-results>button{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:6px;white-space:normal;overflow-wrap:anywhere}.picker-results>button span{font-size:12px;color:var(--calm-muted);margin-top:3px}.picker-results>button:hover,.picker-results>button[aria-selected=true]{background:#eef3f8;color:#34536e}.picker-note{padding:10px;color:var(--calm-muted);font-size:13px}
.selected-target{margin-top:10px;padding:9px 12px;border-radius:7px;background:#f5f7fa;font-size:13px;overflow-wrap:anywhere}.people-results{margin-top:10px;border:1px solid var(--calm-line);border-radius:8px;max-height:226px;overflow:auto;padding:4px}.people-results .person-choice{display:flex;align-items:center;gap:12px;padding:10px;border-radius:6px;margin:0}.person-choice:hover,.person-choice:has(input:checked){background:#f0f4f8}.person-choice>span:first-of-type{display:flex;flex:1;flex-direction:column;min-width:0}.person-choice strong{font-size:14px;font-weight:500}.person-choice small{font-size:12px}.tag{background:#edf1f5;color:#60778b;border-radius:5px}.picker-confirm{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:10px}
#alert-options-form{display:grid;gap:22px;margin-top:22px}#alert-options-form>.module-permissions{margin:0;border-color:var(--calm-line);border-radius:10px;padding:18px}#alert-options-form>.module-permissions:first-child{display:grid;grid-template-columns:1fr 1fr;gap:14px}#alert-options-form>.module-permissions:first-child>.sub{grid-column:1/-1;margin:0;font-size:12px}
#alert-options-form .alert-condition-group{margin:0;padding:16px;border:1px solid #e5eaf0;border-radius:8px;background:#fcfdfe}#alert-options-form .alert-condition-group:has([data-alert-module]:checked){background:#f8fafc}#alert-options-form .alert-condition-group>.reminder-check{margin:0 0 10px;gap:9px}#alert-options-form .alert-condition-group>.module-choices{display:flex;flex-wrap:wrap;gap:5px 20px;padding-left:25px;margin:0}#alert-options-form .alert-condition-group .module-choices label{font-size:13px}
#alert-options-form fieldset:not(:first-child) .module-choices{display:flex;flex-wrap:wrap;gap:12px}#alert-options-form fieldset:not(:first-child) .module-choices>label{padding:9px 18px;border:1px solid var(--calm-line);border-radius:8px;min-width:72px;background:#fff}#alert-options-form fieldset:not(:first-child) .module-choices>label:has(input:checked){background:#f1f5f8;border-color:#c4d1de}#alert-options-form>button{justify-self:start;padding:10px 22px}
.reminder-config{padding:24px}.reminder-config h2{font-size:18px}.reminder-config form fieldset{border-color:var(--calm-line);border-radius:10px}.reminder-config form>fieldset{margin-top:24px}.reminder-config form label{gap:7px}.alert-contact{padding:18px;background:#fafbfd;border-radius:8px;margin-bottom:12px}.account-requests{padding:20px;margin-bottom:20px}.account-requests article{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--calm-line)}.account-requests article p{margin:5px 0}.account-requests form{display:flex;gap:8px}
@media(max-width:640px){.modal-body{padding:20px 16px}.modal-head,.modal-foot{padding:16px}.modal-foot{flex-wrap:wrap}.reminder-config{padding:18px 14px}#alert-options-form>.module-permissions:first-child{grid-template-columns:1fr}#alert-options-form>.module-permissions{padding:14px}#alert-options-form fieldset:not(:first-child) .module-choices>label{flex:1;min-width:60px}.person-choice .tag{font-size:11px}.account-requests article{align-items:flex-start;flex-direction:column}.module-choices{gap:9px}.form-grid{gap:16px}}
@media(forced-colors:active){input[type=checkbox]{appearance:auto}input[type=checkbox]:before{display:none}}

#security-bind{display:grid;gap:14px;margin:16px 0}#security-bind>button{justify-self:start}.security-mail{margin-top:24px;padding-top:20px;border-top:1px solid #dfe5ec}.security-mail summary{cursor:pointer;font-weight:600}.security-mail button[type=submit]{margin-top:18px}

.calendar-update-box{padding:14px 16px;background:#f5f8fb;border:1px solid #e1e8ef;border-radius:8px;margin:0 0 18px}.calendar-update-box p{margin:6px 0 12px}.calendar-update-box details{margin-top:12px}

.calendar-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;background:#fff6e7;border:1px solid #eed9b4;border-radius:8px;margin-bottom:18px;font-size:13px}@media(max-width:640px){.calendar-notice{align-items:flex-start;flex-direction:column}}

/* 系统分组与业务分组同级，图标和文字保持统一对齐。 */
.system-navigation{display:flex;flex-direction:column;flex-shrink:0}.system-navigation .account-nav{margin:0;min-height:48px;padding:12px 15px 12px 49px}.system-navigation .ai-navigation-link,.system-navigation .account-navigation-link{display:flex;align-items:center;gap:14px;padding-left:15px}

/* 账号管理使用用户提供的人员图标，与AI助手保持相同图标占位。 */
.account-navigation-icon{display:block;flex:0 0 20px;width:20px;height:22px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGYAAAA+CAIAAABWYPmvAAAFDElEQVR4AeyZaSi1TRjH9aSEbCdbUmQJKR+sWSOJJFuWlOUIH8hySBH5YEm2ZJclJRQi2ZVESURRiC92EmWXlN54/7137915no7TM73n3HOe3tE0zT0z1+1cv/Ofmeua8+Mv9kdI4Ica+yMkwJARAlNTY8gYMmICxAZMZQwZMQFiA6YyhoyYALEBUxlDRkyA2ICpjCEjJkBsIJjKiD+ZyhowZMRfDUPGkBETIDZgKmPIiAkQG/wZKnt7e9vY2BgbG7u8vCR2UdEGfwCyqamp+Pj4vLy8+vr6mJiYtLS0vb09RXMgeJ9qIXt/fz88PASjiYmJ3d3dp6cnuAKJmZqaVldXLywslJaWfn5+SiSSlZUVDFEpKoRsdXU1MTFRLBa3trZ2d3dnZGQEBwcPDg4mJCT09vYGBgYaGBiEh4c3Nze7urp2dXWB7/8a2cDAQGFhoY6OTnl5+eLi4vz8fENDA5ABX1VVlTQaXV3d1NTUk5OT4eFh6X7B2iqhMqzBtrY2b2/vxsbGkJAQznlfX9+Kigrobnp6enR0lOvkant7+6ioqKWlJe5R4FolkIGIkZFRSUmJSCT6xf+cnByww4SXlxfpIVtb29PTU/xoK90pTJs+ss3NTazEiIgIQ0NDmT5HRkYithgZGZEeNTExAa+Liwvpzn/aSq/oIzs/P4eXAQEBqGUWHx8fMzMzbho/4evri28L3KCPDErR1NS0sbGR47mlpeUvyK6vr7W0tKysrORYKWmIPjIsOhCR7561tTXISs/Z2dlBp3SPYG36yPT09J6fn+U7/Pj4iGn8HIS7y8vL0dHRfI+QDfrIzM3NscoeHh7kuH18fGxhYcFNQESG2M3T0zM0NJTrEbimj4xblRDOd56D5tnZGYesvb09KysL0Szi3u/mK7ufPjIXFxcciAj3v3N1bm4OuREC3fX1daSZSAmampqgzczMTCqZJn1kIpEoNjYWodl3QgNNpARYidra2sgE8vPzPz4+Jicncc4WFRWlpKQgh/8OtzL66SODV3FxcXZ2dvB/a2sLj3y5ubnJzc09OjrCBHQ6OTmhRtHX10foi+yqpaUF0UlNTQ3AYY/DkABFJZCpq6vDeQcHByiosrISCpqZmamtrS0oKLi/v+/p6XF0dJTJwsPDo6ysrL+///b2FrXMOQrvpI8MywqeQzhgBLHg9MTVGMAdHBy4u7tjv4e4sG11dHTc3d3J9B9ZOhaphoaGzFGFd9JEBlhghGUFEUFZ8A13ZJ2dnbOzs9izoBqJRAKUa2truBTCY3JyMhTHgcNlEUDz5fX11d/fH28QoNBBxsMCC9zw9PX1YW/ivUV+bmxszD/irKyrq4PK3NzccNcoFosBLikpCUsyPT09OzsbF2oA7eXlxZsotfEvMqX+k59fjlgBysLdNO7ycU2GoOHncdlPiEUQwQIusnSAA7WwsDCoEuyCgoJwFyTbTAm9FJDt7+/DEexcfn5+aBAVLOHi4mJnZ+ft7W0iQwVOpoCMW0GQCY5FeE5UcBMLw6urK+4lCgTx+6+igAxKQbqDwB3HIo5CooKbWyQD+OkE6/H3nVTsTArI4ADC/aGhIYT12LaJyvj4OI4OnKR4Ca1CBxnnLVIl7EpEBaklZ0uxpomMotv/5V8zZMT0GDKGjJgAsQFTGUNGTIDYgKlM9ZERf0KVM2AqI/5KGDKGjJgAsQFTGUNGTIDYgKmMISMmQGzAVEaM7G8AAAD//8WFA4kAAAAGSURBVAMAXzVY4jvKB+kAAAAASUVORK5CYII=);background-repeat:no-repeat;background-size:68px auto;background-position:-25px -10px;mix-blend-mode:multiply}

/* 业务菜单统一图标占位，文字与系统菜单对齐。 */
.business-navigation-icon{display:flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:22px}.business-navigation-icon svg{display:block;width:20px;height:22px}

/* 预警菜单图标和文字与其余导航保持同列。 */
.alert-navigation .warning-navigation-link{display:flex;align-items:center;gap:14px;margin:0;min-height:48px;padding:12px 15px}

/* 定稿的公共导航与产品信息排版；其余业务表格在后续阶段独立调整。 */
:root{--blue:#4269b2;--muted:#7c8798;--line:#e2e8f1;--calm-accent:#4269b2;--calm-ink:#283341;--calm-muted:#7c8798}
button.primary{background:#4269b2;border-color:#4269b2}button.primary:hover{background:#365b9e;border-color:#365b9e}.text-btn{color:#4269b2}.text-btn.danger{color:#c65e65}.text-btn:hover{background:#f0f4fa}.brandmark{background:#4269b2}.nav button.active,.account-nav.active{background:#eaf1fc;color:#4269b2}.nav-label{font-size:17px;color:#596575;letter-spacing:0;margin-top:34px;margin-bottom:12px}
.sidebar-bottom{padding-top:16px;line-height:1.85;font-size:12px}.sidebar-bottom span{display:block;white-space:nowrap}.sidebar .nav{gap:5px}.system-navigation .account-nav,.alert-navigation .warning-navigation-link{min-height:46px}.brand{color:#283341}.crumb{color:#596575}.topbar .tag{color:#60758e;background:#eef3f9}.topbar .role-picker>span{display:inline}.topbar .role-picker select{opacity:1;color:#34425e;background:#fff;border:1px solid #e2e8f1;padding:6px 10px;min-height:36px}.topbar .role-picker select:disabled{cursor:default}.topbar .user{gap:14px}
.account-menu{position:relative;flex-shrink:0}.account-menu>button.avatar{display:grid;border:0;padding:0;width:38px;height:38px;min-height:38px;color:#4269b2;background:#edf3fc;font-size:16px}.account-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:168px;padding:6px;background:#fff;border:1px solid #e2e8f1;border-radius:10px;box-shadow:0 10px 30px #28334116;z-index:60}.account-menu-panel[hidden]{display:none}.account-menu-action{display:flex;align-items:center;width:100%;border:0;background:transparent;border-radius:6px;text-align:left;text-decoration:none;color:#34425e;font-size:14px;padding:10px 14px;min-height:40px}.account-menu-action:hover{background:#f0f4fa;color:#4269b2}.account-menu-panel #php-logout{border-top:1px solid #edf0f5;border-radius:0 0 6px 6px;margin-top:4px}.page-actions{justify-content:flex-end}.refresh-data{display:inline-flex;gap:9px;align-items:center;justify-content:center}.refresh-data svg{width:18px;height:18px}.shell[data-view=products] main{max-width:none;background:#f5f8fc;padding-top:28px}.shell[data-view=products] .page-head{margin-bottom:26px}.shell[data-view=products] h1{font-size:24px;color:#283341;letter-spacing:0}.shell[data-view=products] .sub{color:#7c8798}.products-page-head .page-actions>button{min-height:40px;padding:8px 18px;font-size:14px}.products-panel{border-radius:10px}.products-panel .panel-title{padding:20px 22px;min-height:84px}.products-panel .panel-title h2{font-size:18px;color:#283341;flex-shrink:0}.products-panel .count{background:#edf3f9;color:#60758e}.product-search{gap:12px;flex-wrap:nowrap}.product-search-input{position:relative}.product-search-input svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#6880a5;pointer-events:none}.product-search .search{padding-left:40px;width:310px;height:40px;font-size:14px}.product-search .search::placeholder{color:#9aa4b4}.product-search button{min-height:40px;padding:8px 22px;font-size:14px}.product-search select{width:170px;font-size:14px;height:40px}
.products-table{table-layout:fixed;min-width:1310px;font-size:14px}.products-table .col-product{width:190px}.products-table .col-partner{width:280px}.products-table .col-method{width:105px}.products-table .col-price{width:90px}.products-table .col-dates{width:135px}.products-table .col-created{width:120px}.products-table .col-actions{width:195px}.products-table .col-returns{width:105px}.products-table th{height:50px;background:#f6f9fd;color:#596575;font-size:13px;font-weight:500;text-align:center;padding:12px 10px}.products-table td{padding:18px 10px;height:82px;vertical-align:middle;color:#283341;border-bottom-color:#eaf0f6}.products-table td:nth-child(n+3){text-align:center}.products-table .num{text-align:center;font-variant-numeric:tabular-nums}.products-table td:first-child{padding-left:20px}.products-table .name{font-weight:600;color:#283341;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:14px}.products-table .name small{margin-top:4px;font-size:12px;overflow:hidden;text-overflow:ellipsis}.products-table .product-icon{width:44px;height:44px;font-size:20px;font-weight:500;border-radius:9px}.products-table .party{display:flex;align-items:baseline;gap:10px;font-size:14px;line-height:1.85;min-width:0}.products-table .party>span:first-child{flex:0 0 2em;padding:0;font-size:12px;color:#929cab}.products-table .party .party-name{display:block;min-width:0;max-width:15em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;color:#34425e;font-size:14px}.products-table .method{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:3px 8px;background:#f4f7fb;border-color:#e2e8f1;color:#60758e}.products-table .dates{font-size:13px;color:#75839a}.products-table .dates small{margin-top:5px;font-size:12px;color:#929cab}.products-table .dates .calc-price{white-space:normal;line-height:1.5}.products-table .product-row-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}.products-table .product-row-actions>button{min-height:28px;font-size:13px;padding:3px 8px;line-height:1.5}.products-table .product-row-actions>button+button{position:relative}.products-table .product-row-actions>button+button:before{content:'';position:absolute;left:0;top:8px;height:12px;width:1px;background:#e2e8f1}.products-table .product-return-cell .text-btn{font-size:13px;min-height:28px;white-space:nowrap}.products-panel .table-foot{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:16px 20px;min-height:64px}.product-list-caption{display:flex;gap:22px;font-size:12px;color:#8a95a6}.product-list-paging.list-paging{margin:0 0 0 auto;padding:0;border:0;display:flex;align-items:center;gap:8px;font-size:12px}.product-list-paging>button{width:32px;height:32px;min-height:32px;padding:0;font-size:22px;color:#4269b2}.product-list-paging .current-page{display:grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border-radius:7px;background:#4269b2;color:#fff}.product-list-paging label{margin-left:5px;display:flex;align-items:center;gap:4px;color:#7c8798}.product-list-paging select{font-size:12px;min-height:32px;height:32px;padding:3px 6px}
@media(min-width:1001px){.shell{grid-template-columns:230px 1fr}.sidebar{width:230px;padding-left:18px;padding-right:18px}.topbar{height:70px;flex-basis:70px}.nav button{min-height:46px}.shell[data-view=products] main{padding-left:30px;padding-right:30px}.shell[data-view=products] .topbar{padding-left:30px;padding-right:30px}}
@media(max-width:1250px) and (min-width:701px){.products-panel .panel-title{flex-wrap:wrap}.product-search{margin-left:auto}.topbar .user{gap:8px}.product-search .search{width:280px}}
@media(max-width:700px){.shell[data-view=products] main{padding:20px 12px 28px}.topbar .user{gap:6px}.topbar .user>.tag{display:inline-block;font-size:11px;padding:4px 6px}.topbar .user .role-picker{display:none}.topbar .user .account-menu>button.avatar{display:grid;width:34px;height:34px;min-height:34px}.topbar .crumb{line-height:1.5}.shell[data-view=products] h1{font-size:23px}.products-page-head .page-actions{width:100%;justify-content:flex-end}.products-panel .panel-title{padding:16px;gap:14px}.product-search{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:10px}.product-search-input{min-width:0}.product-search .search{width:100%;font-size:16px}.product-search select{grid-column:1/-1;width:100%;font-size:16px}.product-search button{padding-left:16px;padding-right:16px;min-height:44px}.products-panel .product-list-caption{flex-wrap:wrap;gap:6px 14px}.products-panel .table-foot{padding:14px}.product-list-paging.list-paging{flex-wrap:wrap}.sidebar-bottom span{font-size:12px}}

.calendar-notice-text{flex:1;min-width:0}.calendar-notice-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.calendar-notice-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;background:transparent;color:#7c6b51;font-size:21px;line-height:1;cursor:pointer}.calendar-notice-close:hover{background:#f5e7ce}.calendar-notice-close:focus-visible{outline:2px solid #466cb5;outline-offset:2px}@media(max-width:640px){.calendar-notice-actions{align-self:flex-end}}
