/* Shared controls retain the established upload and dialog behavior. */
:root{--ink:#293348;--muted:#526179;--line:#edf0f5;--paper:#fff;--bg:#f5f6fa;--green:#6966db;--accent:#efedff;--red:#e36b76;--radius:15px;font-family:"Segoe UI","Microsoft YaHei",sans-serif}
body{font-size:14px}h1{font-size:24px;font-weight:600;letter-spacing:0}h2{font-weight:600;font-size:16px}.button{border-radius:6px}.button.primary{background:#6a70eb;border-color:#6a70eb;color:white}.button.primary:hover{background:#5f62da}.text-button{white-space:nowrap}.eyebrow{display:none}.notice{border-radius:7px}
.console .sidebar{position:fixed;inset:0 auto 0 0;width:236px;min-height:100vh;padding:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:0;border-right:1px solid #f0f2f7;z-index:50;transition:transform .18s ease}
.console .brand{height:70px;padding:0 22px;gap:10px;flex:none;border-bottom:1px solid #f3f4f8;font-size:18px;color:#7064d7}.console .brand-mark{width:35px;height:35px;border-radius:10px;background:linear-gradient(135deg,#7774ed,#805ab5);color:#fff;font-size:13px}.console .brand-sub{font-size:8px;color:#59677b;letter-spacing:1px;margin-top:2px}.console .nav-caption{display:block;padding:25px 27px 12px;color:#526179;font-size:11px;letter-spacing:1px}
.console .sidebar nav{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:0 10px;order:0;flex:1;flex-basis:auto;border:0;overflow-y:auto;overflow-x:hidden;flex-wrap:nowrap}.console .nav-link{position:relative;display:flex;align-items:center;gap:14px;padding:13px 17px;min-height:46px;font-size:14px;border-radius:9px;color:#43516a}.console .nav-link span{display:inline}.console .nav-link .nav-icon{width:19px;font-size:21px;line-height:1;text-align:center;color:#526179}.console .nav-link .nav-chevron{margin-left:auto;font-size:17px;color:#667389}.console .nav-link.active{background:linear-gradient(110deg,#7276ec,#8055ab);color:#fff;box-shadow:0 5px 13px #7567c92e}.console .nav-link.active .nav-icon,.console .nav-link.active .nav-chevron{color:#fff}.console .nav-link.active:after{position:absolute;content:"";right:0;top:8px;bottom:8px;width:3px;background:#3ed3c2;border-radius:3px}.console .nav-link:not(.active):hover{background:#f5f5ff;color:#7169ce}
.console .sidebar-bottom{display:flex;align-items:center;margin:16px 14px 20px;padding:17px 8px 0;gap:10px;border-top:1px solid var(--line)}.console .sidebar-bottom .avatar{display:grid;background:#efedff;color:#7568cf}.console .sidebar-bottom>a{margin-left:auto}.console .sidebar-bottom strong{font-size:12px}.console .sidebar-bottom small{font-size:10px}.console .workspace{margin:0 0 0 236px;max-width:none;min-width:0}.console .topbar{position:sticky;top:0;z-index:20;height:70px;padding:0 28px;gap:22px;border-bottom:1px solid #f0f1f6;background:#fff;color:#475569;font-size:12px;justify-content:flex-start}.top-search{display:flex;align-items:center;gap:10px}.top-search input{margin:0;border:0;border-radius:30px;background:#f5f6fa;padding:10px 17px;width:280px;font-size:12px}.top-search .button{height:34px}.console .top-actions{margin-left:auto;gap:22px;white-space:nowrap}.top-wallet{color:#526179}.top-wallet strong{color:#7066d4;padding-left:7px}.nav-toggle{display:grid;place-items:center;padding:5px;border:0;background:transparent;color:#596475}.nav-backdrop{display:none}.console .content{padding:28px 26px 36px;max-width:none}.console .page-heading{margin:0 0 22px;gap:18px}.console .page-heading h1{margin-bottom:6px}.console .page-heading p{font-size:12px;color:#526179}.console footer{margin:0 26px 25px;padding-top:20px;color:#59677b;border-color:#e9edf4;font-size:10px}.console.nav-hidden .sidebar{transform:translateX(-100%)}.console.nav-hidden .workspace{margin-left:0}
.panel{border:0;border-radius:15px;box-shadow:0 7px 25px #2b385506;overflow:hidden}.panel-heading{padding:22px 25px;background:#fff;border-bottom:1px solid #eff1f6;font-size:12px}.panel-heading h2{padding-left:13px;border-left:4px solid #8063ba;line-height:24px}.panel-heading.no-pad{padding:0 0 18px}.panel-body{padding:25px}.list-toolbar{padding:20px 24px;gap:12px}.list-search input,.search-field input{font-size:12px}.list-toolbar .search-field{max-width:440px}.page-size{margin-left:auto;font-size:12px}.page-size select{width:87px}.apps-table{min-width:1260px}.table-wrap table{font-size:12px}th{background:#f8faff;color:#43516a;font-size:11px;padding:14px 16px;border-bottom:1px solid #e8ecf2}td{padding:18px 16px;border-top:1px solid #f0f2f7}.app-identity{min-width:195px;gap:12px}.app-name{font-size:13px;color:#4d627e;font-weight:600}.bundle{max-width:180px;font-size:10px;color:#526179}.app-icon{border-radius:10px;width:44px;height:44px;background:#f0edff;color:#7669ca}.apps-table td small{font-size:10px;color:#526179}.sign-state{min-width:170px}.sign-state small{max-width:175px;overflow:hidden;text-overflow:ellipsis}.sign-state .success-text{color:#137a56}.badge{font-size:11px;padding:4px 10px;border-radius:16px}.approved,.succeeded{background:#e7f8f2;color:#087957}.pending,.queued{background:#fff5e7;color:#8a5a10}.running{background:#eef2ff;color:#4654a8}.failed,.rejected{background:#fff0f1;color:#b3394b}
.switch-cell{text-align:center;min-width:92px}.state-switch{position:relative;display:inline-block;width:39px;height:21px;margin:0;vertical-align:middle}.state-switch input{position:absolute;inset:0;margin:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.state-switch>span{position:absolute;inset:0;border-radius:20px;background:#dce2eb;transition:background .15s}.state-switch>span:after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0001;transition:transform .15s}.state-switch input:checked+span{background:#18c784}.state-switch input:checked+span:after{transform:translateX(18px)}.state-switch input:focus-visible+span{outline:3px solid #aaa2ef;outline-offset:3px}.state-switch input:disabled{cursor:not-allowed}.state-switch input:disabled+span{opacity:.55}.switch-cell small{margin-top:7px}.row-actions{gap:6px;flex-wrap:nowrap}.action-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;white-space:nowrap;padding:6px 9px;font-size:12px;line-height:1.4;text-decoration:none}.action-button:hover{text-decoration:none;filter:brightness(.98)}.action-button:disabled{opacity:.38;cursor:not-allowed}.action-sign{background:#ecf0ff;color:#405bc1}.action-update{background:#eaf6ff;color:#216b9e}.action-detail{background:#f0edff;color:#6545a3}.action-delete{background:#feeff1;color:#b53750}.row-distribution{display:flex;align-items:center;gap:5px;width:240px}.distribution-url{border:0;background:#f8f9fc;padding:7px 9px;font-size:10px;color:#475569;margin:0;min-width:0;flex:1}.icon-action{font-size:10px;border:0;background:#f0effd;color:#5143a2;border-radius:4px;padding:7px;white-space:nowrap}.distribution-meta{display:flex;gap:14px;margin-top:8px;font-size:10px}.distribution-meta .text-button{font-size:10px}.qr-preview{display:block;width:220px;height:220px;margin:15px auto}.review-table{min-width:760px}.pager{font-size:12px;padding:22px 24px}.detail-table{min-width:600px}.wallet-summary{background:linear-gradient(125deg,#7677e5,#8a6abe)}.wallet-summary>span,.wallet-summary p{color:#eeebff}.stat.accent{background:#eeedff;border-color:#eeedff}.stat.accent>span,.stat.accent>div{color:#615187}.welcome-strip{background:#faf9ff;border-color:#dfdaf2}.hint{background:#f7f7fc;color:#526179}.dropzone{background:#fcfcff;border-color:#d9d5ed}.upload-icon{background:#f0edfc;color:#8a78ca!important}.dropzone.dragging,.dropzone.is-dragging{background:#f0edff;border-color:#8a77d1}.login-story h1{color:#4d4470}.public-layout .brand-mark{background:#7366cc;color:#fff}.install-symbol{background:#f0edff;color:#8070c7}
@media(max-width:1100px){.console .sidebar{width:216px}.console .workspace{margin-left:216px}.console .brand{padding:0 17px;font-size:16px}.console .content{padding:24px 20px}.console .topbar{padding:0 20px}.top-search input{width:220px}}
@media(max-width:760px){.console .sidebar{width:236px;transform:translateX(-100%);min-height:100dvh}.console.nav-open .sidebar{transform:translateX(0)}.console .workspace,.console.nav-hidden .workspace{margin-left:0}.console.nav-open .nav-backdrop{display:block;position:fixed;inset:0;border:0;background:#26314c55;z-index:40}.console .topbar{height:60px;padding:0 17px;gap:12px}.console .top-actions{gap:10px;font-size:10px}.top-search{flex:1;min-width:0}.top-search input{width:100%;min-width:0;padding:9px 12px;font-size:11px}.top-search .button{display:none}.top-wallet{display:none}.console .content{padding:23px 16px 30px}.console .page-heading{flex-direction:row;align-items:center;gap:12px}.console .page-heading h1{font-size:21px}.console .page-heading p{font-size:10px}.console .page-heading .button{font-size:11px;padding:9px 12px}.panel-heading{padding:18px}.panel-heading h2{font-size:15px}.panel-body{padding:20px}.list-toolbar{padding:17px;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap}.list-toolbar .search-field{flex:1;min-width:140px;max-width:none}.list-toolbar .button{padding:10px 14px;font-size:11px}.page-size{flex-basis:100%;justify-content:flex-end;margin:0;font-size:11px}.console footer{margin:0 16px 20px}.table-wrap td{padding:16px}.table-wrap th{padding:13px 16px}.console .sidebar nav{padding:0 10px}.console .sidebar-bottom{margin:16px 14px 20px}.console .sidebar-bottom .avatar{display:grid}.row-actions .action-button{font-size:11px}.panel{border-radius:12px}}
@media(prefers-reduced-motion:reduce){.console .sidebar,.state-switch>span,.state-switch>span:after{transition:none}}

.console .sidebar .nav-link{color:#445169;font-weight:650;font-size:15px}.console .sidebar .nav-link .nav-icon{color:#56627a}.console .sidebar .nav-link.active,.console .sidebar .nav-link.active .nav-icon{color:white}.console .nav-caption{color:#667389}.console .sidebar-bottom small{color:#58647b}.action-download{background:#e8f6f0;color:#218362}.upload-modal{width:min(520px,calc(100% - 30px));padding:22px}.upload-modal .panel-body{padding:0}.upload-modal .dropzone{min-height:190px}.upload-modal .upload-footnote{margin:0}.install-artwork{margin:24px auto 18px;display:flex;flex-direction:column;align-items:center;gap:16px}.install-app-icon{width:96px;height:96px;object-fit:contain;border-radius:21px;box-shadow:0 5px 20px #28365318}.install-app-fallback{width:96px;height:96px;border-radius:21px;background:#efecff;color:#7062bc;display:grid;place-items:center;font-size:36px}.install-qr{width:176px;height:176px;display:block}.install-qr-caption{margin:0;color:#59677e;font-size:12px}.public-layout .install-card .muted{color:#68758b}.install-card .notice{line-height:1.7}.install-artwork [hidden]{display:none}

/* Keep application metadata readable without losing the compact list layout. */
.console.apps-page{--muted:#526179}
.console.apps-page .page-heading p,.console.apps-page .panel-heading .muted,.console.apps-page .top-wallet,.console.apps-page footer{color:#526179;font-weight:500}
.apps-page .apps-table th{color:#43516a;font-weight:650;font-size:12px}
.apps-page .apps-table td{color:#293348;font-weight:500}
.apps-page .app-name{color:#2f405a;font-weight:650}
.apps-page .bundle,.apps-page .apps-table td small{color:#526179;font-weight:500;font-size:11px}
.apps-page .sign-state .success-text{color:#137a56}
.apps-page .badge{font-weight:600}
.apps-page .approved,.apps-page .succeeded{color:#087957}
.apps-page .pending,.apps-page .queued{color:#8a5a10}
.apps-page .running{color:#4654a8}
.apps-page .failed,.apps-page .rejected{color:#b3394b}
.apps-page .row-distribution{width:310px;gap:6px;flex-wrap:nowrap}
.apps-page .distribution-url{color:#475569;font-size:11px;font-weight:500}
.apps-page .icon-action{display:inline-flex;align-items:center;justify-content:center;color:#5143a2;font-size:11px;font-weight:600;line-height:1.6;flex-shrink:0}
.apps-page .distribution-open:hover{text-decoration:none;background:#e4e0fa}
.apps-page .action-button{font-weight:600}
.apps-page .action-sign{color:#405bc1}.apps-page .action-update{color:#216b9e}.apps-page .action-detail{color:#6545a3}.apps-page .action-delete{color:#b53750}.apps-page .action-download{color:#176c50}
.apps-page .search-field input::placeholder{color:#59677b;opacity:1}
.apps-page .hint{color:#526179}

.device-records .panel-heading{flex-wrap:wrap}.device-records .device-total,.device-records .text-button{color:#475569;font-weight:600}.device-note{margin:0;padding:16px 25px;color:#526179;font-size:12px;font-weight:500;background:#fafbfe;border-bottom:1px solid #edf0f5}.device-table{min-width:680px}.device-table th{color:#43516a;font-weight:650;font-size:12px}.device-table td{color:#293348;font-weight:500}.device-table td small{color:#526179}.device-table code{font-size:12px}.device-table .succeeded{color:#087957;font-weight:600}.device-records .empty{color:#526179}

.device-records{scroll-margin-top:86px}

/* Shared text contrast applies to every console page, including application details. */
.console .page-heading p,.console .panel-heading>.muted,.console .hint,.console .distribution-note,.console td small,.console .bundle{color:#526179;font-weight:500}
.console .table-wrap th{color:#43516a;font-weight:650;font-size:12px}
.console .table-wrap td{color:#293348;font-weight:500}
.console .badge,.console .action-button{font-weight:600}
.console .table-wrap .success-text{color:#137a56}
.console .distribution-note{clear:none;line-height:1.8;margin:12px 0}
.console .distribution-note.warning-text{color:#855a11}
.console .latest-signing{overflow-wrap:anywhere}
.console .distribution-actions{clear:both}
.console input::placeholder,.console textarea::placeholder{color:#59677b;opacity:1}
.public-layout .login-story>small{color:#59677b}.console .badge.cancelled{color:#526179}

.permission-intro{margin:0;color:#43516a;line-height:1.7}.permission-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #e5e7f0;border-radius:10px;padding:16px}.permission-row strong{display:block;color:#26354c;font-size:14px}.permission-row small{display:block;color:#43516a;margin-top:5px;line-height:1.6}.permission-row .state-switch{flex-shrink:0;margin:0}.permission-dialog .actions{justify-content:flex-end}

/* Account search, finance controls and unified activity records. */
.account-search{display:flex;align-items:center;flex-wrap:wrap}.account-search .search-field{flex:1;min-width:190px}.search-count{margin-left:auto;color:#334155;font-weight:600}.accounts-table{min-width:760px}.account-settings{width:min(620px,calc(100vw - 32px));max-height:90dvh;overflow-y:auto}.settings-section{padding:20px 0;border-top:1px solid var(--line)}.settings-section:first-of-type{border-top:0;padding-top:0}.settings-section h3{font-size:15px;color:#26354b;margin:0 0 16px}.balance-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#f6f5ff;padding:14px 16px;border-radius:8px;color:#26354b}.balance-line strong{font-size:22px;color:#6256c5}.balance-line a{margin-left:auto;font-size:12px}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid var(--line)}.filter-tabs a{padding:9px 16px;border-radius:7px;color:#334155;font-weight:600}.filter-tabs a.selected{background:#eeebff;color:#5546b5}.records-summary{padding:16px 24px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#475569;font-size:12px}.activity-table{min-width:1050px}.settlements-table{min-width:690px}.activity-action{white-space:nowrap}.activity-table .audit-detail{min-width:200px;max-width:420px;white-space:normal;overflow-wrap:anywhere}.points-positive{color:#087957}.points-negative{color:#b3394b}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:auto;margin:0}.credit-form .button{justify-self:start}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.account-search .search-count{width:100%;margin-left:0}.filter-tabs{padding:14px;gap:4px}.filter-tabs a{padding:8px 10px;font-size:12px}.records-summary{padding:14px 17px}.account-settings{max-height:88dvh}.balance-line{gap:10px}.account-search .search-field{min-width:140px}}

.apps-table .install-count{text-align:center;white-space:nowrap;min-width:86px}.apps-table td.install-count{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums}.apps-table td.today-installs{color:#087957}

#daily-minimum{scroll-margin-top:86px}.minimum-detail-form{max-width:680px}.minimum-detail-form>label input{max-width:240px}.minimum-detail-form .button{align-self:flex-start}.minimum-detail-form .hint{line-height:1.8}

.minimum-toolbar{display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:20px 24px;background:#fafbfe}.minimum-toolbar label{min-width:130px}.minimum-toolbar input[type=number]{width:160px}.minimum-selection{align-self:center;font-weight:600;color:#43516a}.minimum-apps-table{min-width:980px}.minimum-apps-table input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:#6966db}.minimum-apps-table th:first-child,.minimum-apps-table td:first-child{width:44px;text-align:center}
@media(max-width:760px){.minimum-toolbar{padding:17px;gap:12px}.minimum-toolbar .actions{width:100%}.minimum-toolbar .button{font-size:12px;padding:10px 12px}}

.signed-bundle-label{max-width:230px;white-space:normal;overflow-wrap:anywhere}.notice [data-bundle-feedback], [data-bundle-feedback]{overflow-wrap:anywhere}
.direct-table{min-width:1250px}.direct-table .bundle{max-width:260px}.direct-record{display:block;color:#475569;font-weight:550;font-size:12px;margin-top:5px}.direct-upload-note{color:#334155;font-size:13px;line-height:1.8;margin:0}.direct-detail{display:grid;gap:22px}.direct-detail .row-distribution{max-width:850px}.direct-detail .distribution-url{min-width:0;flex:1}.direct-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0}.direct-facts dt{color:#475569;font-size:13px;margin-bottom:7px}.direct-facts dd{color:#1e293b;font-weight:650;margin:0;overflow-wrap:anywhere}#update-package{margin-top:24px;scroll-margin-top:84px}#update-package .upload-form{max-width:860px}.direct-detail .bundle{white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){.direct-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.direct-detail .row-distribution{flex-wrap:wrap}.direct-detail .distribution-url{width:100%;flex-basis:100%}}

.direct-remark-cell{min-width:140px;width:150px}.direct-remark-form{position:relative;width:130px;padding:10px 0}.direct-remark-form input[name=remark]{width:100%;height:34px;margin:0;padding:6px 9px;font:inherit;font-size:12px;color:#1e293b;font-weight:550;border:1px solid #dce1ed;border-radius:6px;background:#fafbfe}.direct-remark-form input[name=remark]:focus{outline:2px solid #6966dc;outline-offset:1px}.remark-feedback{position:absolute;top:calc(100% - 8px);left:0;display:flex;align-items:center;gap:6px;white-space:nowrap}.direct-remark-form [data-remark-status]{margin:0;font-size:11px;color:#137a56}.direct-remark-form[data-save-state=error] [data-remark-status]{color:#b3394b}.direct-remark-form .text-button{font-size:11px;padding:0}.direct-table .row-distribution{width:310px}.direct-table .distribution-url{font-size:11px}.direct-remark-form [hidden]{display:none!important}.direct-remark-detail{color:#1e293b}.direct-remark-detail p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-weight:550;line-height:1.7}

.direct-table .install-count{text-align:center;white-space:nowrap;min-width:72px}.direct-table td.install-count{font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}.direct-table .today-installs{color:#087957}
