.authorization-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-height:480px;padding:22px}.authorization-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.authorization-head h3{color:#172033;font-size:20px;margin:0 0 6px}.authorization-head p{color:#64748b;margin:0}.authorization-empty{align-items:center;color:#94a3b8;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:320px}.authorization-empty b{color:#475569;font-size:18px}.authorization-alert{align-items:center;background:#fff1f2;border:1px solid #fecdd3;border-radius:7px;color:#be123c;display:flex;justify-content:space-between;margin:10px 0;padding:10px 12px}.authorization-alert button{background:none;border:0;color:inherit;cursor:pointer;font-size:18px}.authorization-table-wrap{overflow:auto}.authorization-table{border-collapse:collapse;min-width:1180px;width:100%}.authorization-table th,.authorization-table td{border-bottom:1px solid #eef2f7;padding:12px 10px;text-align:left;vertical-align:top}.authorization-table th{background:#f8fafc;color:#475569;font-size:13px;white-space:nowrap}.authorization-table td{color:#334155;font-size:14px;max-width:180px}.authorization-status{border-radius:12px;display:inline-block;font-size:13px;padding:3px 9px}.authorization-status.active{background:#dcfce7;color:#15803d}.authorization-status.disabled{background:#fee2e2;color:#b91c1c}.authorization-actions{white-space:nowrap}.authorization-actions button{background:none;border:0;color:#2563eb;cursor:pointer;margin-right:7px;padding:2px}.authorization-actions button.danger{color:#dc2626}.authorization-mask{align-items:center;background:rgba(15,23,42,.5);display:flex;inset:0;justify-content:center;position:fixed;z-index:1200}.authorization-dialog{background:#fff;border-radius:12px;box-shadow:0 24px 60px rgba(15,23,42,.25);max-height:90vh;overflow:auto;width:min(820px,92vw)}.authorization-dialog>header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:17px 22px}.authorization-dialog>header h3{margin:0}.authorization-dialog>header button{background:none;border:0;color:#64748b;cursor:pointer;font-size:25px}.authorization-dialog form,.authorization-detail{padding:20px 22px}.authorization-form-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr}.authorization-form-grid label,.authorization-detail>label{display:flex;flex-direction:column;gap:7px}.authorization-form-grid label span,.authorization-detail>label span{color:#475569;font-size:13px}.authorization-form-grid input,.authorization-form-grid textarea,.authorization-detail textarea{border:1px solid #cbd5e1;border-radius:7px;box-sizing:border-box;font:inherit;padding:9px 10px;width:100%}.authorization-form-grid .wide{grid-column:1/-1}.authorization-form-grid fieldset{align-items:center;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:18px;padding:12px}.authorization-form-grid fieldset label{display:block;white-space:nowrap}.authorization-form-grid fieldset input[type=number],.authorization-form-grid fieldset input[type=date]{margin-left:auto;width:190px}.machine-code-input{font-family:Consolas,monospace;letter-spacing:1.4px}.authorization-dialog footer{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.authorization-detail dl{display:grid;grid-template-columns:1fr 1fr;margin:0 0 18px}.authorization-detail dl div{border-bottom:1px solid #eef2f7;padding:10px}.authorization-detail dt{color:#64748b;font-size:13px}.authorization-detail dd{color:#1e293b;margin:5px 0 0;word-break:break-all}.authorization-detail textarea{font-family:Consolas,monospace;font-size:13px;resize:vertical;word-break:break-all}@media(max-width:700px){.authorization-form-grid,.authorization-detail dl{grid-template-columns:1fr}.authorization-form-grid fieldset{align-items:flex-start;flex-direction:column}.authorization-form-grid fieldset input[type=number],.authorization-form-grid fieldset input[type=date]{margin-left:0;width:100%}}

/* Authorization center visual refresh */
.authorization-panel{background:linear-gradient(180deg,#fff 0,#fbfdff 100%);border-color:#dbe5ef;border-radius:16px;box-shadow:0 8px 28px rgba(15,23,42,.06);padding:0;overflow:hidden}.authorization-head{background:linear-gradient(135deg,#f8fbff,#eef7f4);border-bottom:1px solid #dce7ef;margin:0;padding:24px 28px}.authorization-head h3{font-size:22px;letter-spacing:.5px}.authorization-head p{line-height:1.6}.authorization-head .primary-btn{box-shadow:0 7px 18px rgba(5,150,105,.2);padding:10px 18px}.authorization-panel>.authorization-alert,.authorization-panel>.authorization-empty,.authorization-panel>.authorization-table-wrap{margin-left:28px;margin-right:28px}.authorization-table-wrap{margin-bottom:28px;margin-top:20px;border:1px solid #e2e8f0;border-radius:12px}.authorization-table th{background:#f3f7fa}.authorization-table tbody tr{transition:background .18s ease}.authorization-table tbody tr:hover{background:#f8fbff}.authorization-mask{backdrop-filter:blur(3px);background:rgba(15,23,42,.58);padding:22px}.authorization-dialog{border:1px solid rgba(255,255,255,.75);border-radius:16px;box-shadow:0 28px 80px rgba(15,23,42,.32);width:min(880px,94vw)}.authorization-dialog>header{background:linear-gradient(135deg,#f8fbff,#f1f8f5);padding:20px 26px;position:sticky;top:0;z-index:2}.authorization-dialog>header h3{color:#172033;font-size:18px}.authorization-dialog>header button{align-items:center;border-radius:50%;display:flex;height:32px;justify-content:center;line-height:1;transition:.18s;width:32px}.authorization-dialog>header button:hover{background:#e8eef4;color:#1e293b}.authorization-dialog form,.authorization-detail{padding:24px 26px 22px}.authorization-form-grid{column-gap:20px;row-gap:17px}.authorization-form-grid label>span,.authorization-detail>label>span{color:#334155;font-weight:600}.authorization-form-grid input,.authorization-form-grid textarea,.authorization-detail textarea{background:#fff;border-color:#cbd8e6;border-radius:8px;min-height:40px;outline:none;transition:border-color .18s,box-shadow .18s}.authorization-form-grid input:focus,.authorization-form-grid textarea:focus,.authorization-detail textarea:focus{border-color:#0f9f75;box-shadow:0 0 0 3px rgba(15,159,117,.12)}.authorization-form-grid textarea{min-height:88px;resize:vertical}.authorization-form-grid fieldset.authorization-duration{background:#f8fbfd;border:1px solid #d9e5ee;border-radius:12px;display:block;padding:14px 16px 16px}.authorization-duration legend{color:#334155;font-size:13px;font-weight:700;padding:0 7px}.authorization-duration-options{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.authorization-form-grid .authorization-duration-options label{align-items:center;background:#fff;border:1px solid #d7e2eb;border-radius:9px;cursor:pointer;display:flex;flex-direction:row;gap:10px;min-height:58px;padding:10px 12px;white-space:normal}.authorization-form-grid .authorization-duration-options label:hover{border-color:#78bfa9}.authorization-form-grid .authorization-duration-options label.selected{background:#edfaf5;border-color:#10a676;box-shadow:0 0 0 2px rgba(16,166,118,.1)}.authorization-duration-options input[type=radio]{accent-color:#0f9f75;flex:0 0 auto;margin:0;width:auto}.authorization-duration-options label>span{display:flex;flex-direction:column;gap:2px}.authorization-duration-options b{color:#263849;font-size:14px}.authorization-duration-options small{color:#7b8da0;font-size:13px;font-weight:400}.authorization-duration-value{align-items:center;background:#fff;border:1px dashed #c8d6e2;border-radius:9px;display:flex;justify-content:space-between;margin-top:12px;padding:10px 12px}.authorization-duration-value>span{color:#475569;font-size:13px;font-weight:600}.authorization-duration-value>div{align-items:center;display:flex;gap:8px}.authorization-form-grid fieldset.authorization-duration .authorization-duration-value input{margin:0;width:190px}.authorization-duration-value em{color:#64748b;font-style:normal}.authorization-duration-tip{background:#eff8ff;border-radius:8px;color:#45637d;font-size:13px;margin-top:12px;padding:11px 13px}.authorization-alert{border-radius:9px;line-height:1.5}.authorization-dialog footer{border-top:1px solid #edf1f5;margin-top:22px;padding-top:18px}.authorization-dialog footer button{min-width:88px}.authorization-dialog footer .primary-btn{box-shadow:0 6px 15px rgba(5,150,105,.18)}
@media(max-width:700px){.authorization-mask{align-items:flex-start;padding:10px}.authorization-dialog{max-height:calc(100vh - 20px);width:100%}.authorization-head{align-items:flex-start;gap:14px;padding:20px;flex-direction:column}.authorization-panel>.authorization-alert,.authorization-panel>.authorization-empty,.authorization-panel>.authorization-table-wrap{margin-left:16px;margin-right:16px}.authorization-dialog form,.authorization-detail{padding:18px}.authorization-duration-options{grid-template-columns:1fr}.authorization-form-grid fieldset.authorization-duration{padding:12px}.authorization-duration-value{align-items:stretch;flex-direction:column;gap:8px}.authorization-form-grid fieldset.authorization-duration .authorization-duration-value input{width:100%}}

/* Authorization center v3: separated profile editing and license reissuing. */
.authorization-eyebrow{color:#0b8f6b;display:block;font-size:12px;font-weight:800;letter-spacing:1.8px;margin-bottom:5px}.authorization-add{align-items:center;display:inline-flex;gap:7px}.authorization-add b{font-size:17px;font-weight:500}.authorization-table{min-width:1280px}.authorization-table th:last-child,.authorization-table td:last-child{min-width:250px}.authorization-primary-cell{color:#152e3e!important;font-weight:700}.authorization-status{align-items:center;display:inline-flex;gap:6px;font-weight:600}.authorization-status i{background:currentColor;border-radius:50%;height:6px;opacity:.75;width:6px}.authorization-actions{align-items:center;display:flex;gap:4px;white-space:nowrap}.authorization-actions button{border-radius:6px;margin:0;padding:5px 7px;transition:background .16s,color .16s}.authorization-actions button:hover{background:#edf4ff;color:#174ea6}.authorization-actions button.reissue{color:#087c5e;font-weight:700}.authorization-actions button.reissue:hover{background:#e8f8f2;color:#05664d}.authorization-actions button.danger:hover{background:#fff0f0;color:#b91c1c}.authorization-dialog>header>div small{color:#0b8f6b;display:block;font-size:12px;font-weight:800;letter-spacing:1.5px;margin-bottom:3px}.authorization-dialog>header>div h3{margin:0}.authorization-dialog--compact{width:min(700px,94vw)}.authorization-section-title{align-items:flex-start;border-left:3px solid #11a579;display:flex;flex-direction:column;gap:3px;margin-bottom:18px;padding-left:11px}.authorization-section-title b{color:#213547;font-size:15px}.authorization-section-title span{color:#718295;font-size:13px;line-height:1.5}.authorization-reissue{padding:24px 26px 22px}.authorization-record-summary{background:linear-gradient(135deg,#effaf6,#f6f9fc);border:1px solid #d7e8e1;border-radius:12px;display:flex;flex-direction:column;margin-bottom:22px;padding:16px 18px}.authorization-record-summary span{color:#718295;font-size:12px;margin-bottom:5px}.authorization-record-summary b{color:#19394a;font-size:16px}.authorization-record-summary small{color:#5f7382;font-family:Consolas,monospace;margin-top:6px;overflow-wrap:anywhere}.authorization-reissue .authorization-duration{background:#f8fbfd;border:1px solid #d9e5ee;border-radius:12px;margin:0;padding:14px 16px 16px}.authorization-reissue .authorization-duration-value input{border:1px solid #cbd8e6;border-radius:8px;box-sizing:border-box;font:inherit;min-height:40px;outline:none;padding:9px 10px}.authorization-reissue .authorization-duration-value input:focus{border-color:#0f9f75;box-shadow:0 0 0 3px rgba(15,159,117,.12)}.authorization-detail dl .wide{grid-column:1/-1}.authorization-detail label>span{display:block;margin-bottom:7px}.authorization-dialog button:disabled{cursor:wait;opacity:.65}
@media(max-width:900px){.authorization-head{align-items:flex-start;gap:16px}.authorization-actions{align-items:flex-start;flex-wrap:wrap}.authorization-table th:last-child,.authorization-table td:last-child{min-width:210px}}
@media(max-width:700px){.authorization-dialog>header{padding:17px 18px}.authorization-reissue{padding:18px}.authorization-section-title{margin-bottom:14px}.authorization-record-summary{margin-bottom:18px}.authorization-reissue .authorization-duration{padding:12px}.authorization-actions button{padding:6px}.authorization-detail dl .wide{grid-column:auto}}
.authorization-machine-choice{background:#f8fbfd;border:1px solid #d9e5ee;border-radius:12px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:0 0 22px;padding:14px 16px 16px}.authorization-machine-choice>label{align-items:flex-start;background:#fff;border:1px solid #d7e2eb;border-radius:9px;cursor:pointer;display:flex;gap:10px;min-width:0;padding:12px}.authorization-machine-choice>label.selected{background:#edfaf5;border-color:#10a676;box-shadow:0 0 0 2px rgba(16,166,118,.1)}.authorization-machine-choice input[type=radio]{accent-color:#0f9f75;flex:0 0 auto;margin-top:3px}.authorization-machine-choice label>span{display:flex;flex-direction:column;gap:4px;min-width:0}.authorization-machine-choice b{color:#263849;font-size:14px}.authorization-machine-choice small{color:#718295;font-size:13px;font-weight:400;overflow-wrap:anywhere}.authorization-new-machine{display:flex;flex-direction:column;gap:7px;grid-column:1/-1}.authorization-new-machine>span{color:#334155;font-size:13px;font-weight:600}.authorization-new-machine input{border:1px solid #cbd8e6;border-radius:8px;box-sizing:border-box;font:inherit;min-height:40px;outline:none;padding:9px 10px;width:100%}.authorization-new-machine input:focus{border-color:#0f9f75;box-shadow:0 0 0 3px rgba(15,159,117,.12)}.authorization-period-title{margin-top:2px}
@media(max-width:700px){.authorization-machine-choice{grid-template-columns:1fr;padding:12px}.authorization-new-machine{grid-column:auto}}
.authorization-duration-options{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.authorization-duration-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.authorization-duration-options{grid-template-columns:1fr}}

/* Authorization center v4: dedicated authorization form and compact history. */
.authorization-issued-time{white-space:nowrap}.authorization-license-machine{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.authorization-license-machine>span{color:#334155;font-size:13px;font-weight:600}.authorization-license-machine input{border:1px solid #cbd8e6;border-radius:8px;box-sizing:border-box;font:inherit;min-height:42px;outline:none;padding:9px 10px;width:100%}.authorization-license-machine input:focus{border-color:#0f9f75;box-shadow:0 0 0 3px rgba(15,159,117,.12)}.authorization-history-dialog{width:min(920px,94vw)}.authorization-history{padding:20px 24px 22px}.authorization-history-summary{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.authorization-history-summary>div{background:linear-gradient(135deg,#f6fafc,#eff8f5);border:1px solid #dbe7eb;border-radius:10px;display:flex;flex-direction:column;padding:12px 14px}.authorization-history-summary span{color:#718295;font-size:12px}.authorization-history-summary strong{color:#203747;font-size:14px;margin-top:4px}.authorization-history-summary small{color:#718295;margin-top:3px}.authorization-history-compact{border:1px solid #dfe7ee;border-radius:10px;overflow:hidden}.authorization-history-compact-head,.authorization-history-compact article{align-items:center;display:grid;gap:12px;grid-template-columns:70px 1.25fr 1.25fr 1.45fr 80px 92px;padding:11px 14px}.authorization-history-compact-head{background:#f4f7fa;color:#64748b;font-size:13px;font-weight:700}.authorization-history-compact article{border-top:1px solid #edf1f4;color:#334155;font-size:13px}.authorization-history-compact article:nth-child(odd){background:#fbfdfe}.authorization-history-compact article strong{color:#203747}.authorization-history-compact article code{font-family:Consolas,monospace;font-size:13px;overflow-wrap:anywhere}.authorization-history-compact article button{font-size:13px;margin:0;min-width:0;padding:6px 8px}.authorization-history>footer{border-top:1px solid #edf1f5;display:flex;justify-content:flex-end;margin-top:18px;padding-top:16px}
@media(max-width:760px){.authorization-history-summary{grid-template-columns:1fr}.authorization-history-compact-head{display:none}.authorization-history-compact article{align-items:flex-start;grid-template-columns:1fr}.authorization-history-compact article>*{display:block}.authorization-history-compact article button{width:max-content}}

/* Authorization center v5: multiple server IP rows. */
.authorization-ip-lines{white-space:pre-line}.authorization-server-ip-field{display:flex;flex-direction:column;gap:9px}.authorization-server-ip-head{align-items:center;display:flex;justify-content:space-between}.authorization-server-ip-head>span{color:#334155;font-size:13px;font-weight:600}.authorization-server-ip-head button{background:#edf9f5;border:1px solid #9bd8c5;border-radius:7px;color:#087c5e;cursor:pointer;font-size:13px;font-weight:600;padding:6px 10px}.authorization-server-ip-head button:hover{background:#def4ec}.authorization-server-ip-head button:disabled{cursor:not-allowed;opacity:.55}.authorization-server-ip-row{align-items:center;display:flex;gap:9px}.authorization-server-ip-row input{flex:1}.authorization-server-ip-row button{background:#fff;border:1px solid #fecaca;border-radius:7px;color:#c24141;cursor:pointer;flex:0 0 auto;padding:8px 12px}.authorization-server-ip-row button:hover{background:#fff1f2}.authorization-server-ip-field>small{color:#7b8da0;font-size:13px}
@media(max-width:700px){.authorization-server-ip-head{align-items:flex-start;gap:8px}.authorization-server-ip-row{align-items:stretch}.authorization-server-ip-row button{padding-left:10px;padding-right:10px}}

/* Authorization center v6: primary IP summary and IP ordering. */
.authorization-ip-summary{align-items:center;display:flex;gap:7px;white-space:nowrap}.authorization-ip-summary>span{overflow:hidden;text-overflow:ellipsis}.authorization-ip-summary>button{background:#eaf7f2;border:1px solid #a8ddcc;border-radius:999px;color:#087c5e;cursor:pointer;font-size:12px;font-weight:700;padding:3px 8px;white-space:nowrap}.authorization-ip-summary>button:hover{background:#d9f1e8}.authorization-server-ip-actions{align-items:center;display:flex;flex:0 0 auto;gap:6px}.authorization-server-ip-row .authorization-server-ip-actions button{border-radius:7px;cursor:pointer;height:38px;padding:0 11px}.authorization-server-ip-row .authorization-server-ip-actions .order{background:#f3f7fa;border:1px solid #cbd8e6;color:#355269;font-size:17px;font-weight:700}.authorization-server-ip-row .authorization-server-ip-actions .order:hover:not(:disabled){background:#e7eff5;border-color:#9eb5c6}.authorization-server-ip-row .authorization-server-ip-actions .order:disabled{cursor:not-allowed;opacity:.38}.authorization-server-ip-row .authorization-server-ip-actions .remove{background:#fff;border:1px solid #fecaca;color:#c24141}.authorization-server-ip-row .authorization-server-ip-actions .remove:hover{background:#fff1f2}
@media(max-width:700px){.authorization-server-ip-row{flex-direction:column}.authorization-server-ip-actions{justify-content:flex-end}.authorization-server-ip-row .authorization-server-ip-actions button{height:34px}}

/* Authorization center v7: remark button and polished remark dialog. */
.authorization-remark-button{align-items:center;background:#f0f8ff;border:1px solid #bfd8eb;border-radius:7px;color:#24648d;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:5px;padding:6px 9px;white-space:nowrap}.authorization-remark-button:hover{background:#e2f2ff;border-color:#8fbdd8;box-shadow:0 3px 9px rgba(36,100,141,.12)}.authorization-remark-button>span{font-size:14px;line-height:1}.authorization-no-remark{color:#a8b4c0}.authorization-remark-dialog{width:min(640px,94vw)}.authorization-remark-detail{padding:24px 26px 22px}.authorization-remark-summary{align-items:center;background:linear-gradient(135deg,#edf9f5,#f5f9fc);border:1px solid #d4e8e1;border-radius:13px;display:flex;gap:14px;padding:15px 17px}.authorization-remark-summary>span{align-items:center;background:linear-gradient(135deg,#0e9a72,#087c5e);border-radius:11px;box-shadow:0 6px 14px rgba(8,124,94,.2);color:#fff;display:flex;flex:0 0 auto;font-size:16px;font-weight:800;height:42px;justify-content:center;width:42px}.authorization-remark-summary>div{display:flex;flex-direction:column;min-width:0}.authorization-remark-summary small{color:#748696;font-size:12px}.authorization-remark-summary strong{color:#1c3545;font-size:15px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.authorization-remark-summary em{color:#607786;font-size:13px;font-style:normal;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.authorization-remark-content{background:#fff;border:1px solid #dce6ee;border-radius:13px;box-shadow:0 8px 22px rgba(32,55,71,.06);margin-top:16px;padding:17px 18px}.authorization-remark-content>span{color:#607786;font-size:13px;font-weight:700}.authorization-remark-content>p{color:#203747;font-size:14px;line-height:1.8;margin:10px 0 0;max-height:42vh;min-height:72px;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap}.authorization-remark-detail>footer{border-top:1px solid #edf1f5;display:flex;justify-content:flex-end;margin-top:20px;padding-top:17px}.authorization-remark-detail>footer button{min-width:88px}
@media(max-width:700px){.authorization-remark-detail{padding:18px}.authorization-remark-summary{padding:13px}.authorization-remark-content{padding:15px}.authorization-remark-content>p{max-height:48vh}}

/* Authorization center v8: table alignment. */
.authorization-table th:nth-child(8),.authorization-table td:nth-child(8),.authorization-table th:nth-child(9),.authorization-table td:nth-child(9){text-align:center;vertical-align:middle}.authorization-table th:nth-child(10),.authorization-table td:nth-child(10){text-align:left}.authorization-table td:nth-child(10){vertical-align:middle}.authorization-table td:nth-child(10) .authorization-actions{justify-content:flex-start}
