:root{font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,system-ui,sans-serif;color:#102342;background:#eef5fd;font-synthesis:none;--blue: #0966ed;--blue-deep: #0057df;--ink: #102342;--green: #09ad9a}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#eef5fd;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{color:inherit}.admin-shell{min-height:100vh;display:grid;grid-template-columns:232px 472px minmax(600px,1fr);background:#eef5fd;overflow:hidden}.sidebar{position:relative;z-index:3;min-height:100vh;background:#fff;border-right:1px solid #dce6f1;box-shadow:4px 0 18px #254b7c0a;display:flex;flex-direction:column}.brand{height:96px;display:flex;align-items:center;padding:0 23px;font-size:20px;line-height:1.2;font-weight:750;letter-spacing:-.4px;white-space:nowrap}.sidebar nav{padding:3px 0}.sidebar nav button{width:100%;height:74px;padding:0 26px;border:0;border-left:4px solid transparent;background:transparent;display:flex;align-items:center;gap:19px;font-size:18px;font-weight:560;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.sidebar nav button svg{width:28px;height:28px;flex:0 0 auto}.sidebar nav button b{margin-left:auto;font-size:13px;color:#fff;background:#176df2;border-radius:999px;min-width:25px;padding:3px 7px}.sidebar nav button:hover{background:#f4f8fd}.sidebar nav button.active{color:var(--blue);background:#eef5ff;border-left-color:var(--blue);font-weight:700}.sidebar-foot{margin:auto 20px 10px;padding:13px 14px;border:1px solid #dfe9f2;border-radius:10px;display:flex;align-items:center;gap:9px;color:#64738a;font-size:12px}.sidebar-foot svg{width:18px;height:18px;color:var(--green)}.sidebar-foot i{width:7px;height:7px;border-radius:50%;background:var(--green);margin-left:auto}.orders-panel{margin:16px 0 16px 14px;height:calc(100vh - 32px);min-height:680px;border:1px solid #d7e2ef;border-radius:10px;background:#fff;overflow:hidden;display:grid;grid-template-rows:80px 50px 1fr 73px;box-shadow:0 7px 24px #2b4e7b0a}.orders-title{display:flex;align-items:center;padding:0 20px 0 26px;border-bottom:1px solid #e1e9f2}.orders-title h1{margin:0;font-size:24px;letter-spacing:-.4px}.orders-title strong{color:var(--blue);font-size:20px;margin-left:5px}.add-order-button{margin-left:auto;height:34px;padding:0 11px;border:1px solid #b7cdf1;border-radius:7px;background:#fff;color:var(--blue);display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;cursor:pointer}.add-order-button:hover{background:#f3f8ff;border-color:var(--blue)}.add-order-button svg{width:18px;height:18px}.orders-columns,.order-row{display:grid;grid-template-columns:35px 47px 116px 96px 83px 68px;align-items:center}.orders-columns{padding:0 11px;color:#65758d;border-bottom:1px solid #e4ebf3;font-size:13px}.orders-columns span:first-child{grid-column:2}.orders-list{overflow:auto;scrollbar-width:thin}.orders-empty{min-height:100%;padding:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#728198}.orders-empty>svg{width:46px;height:46px;color:#8cb2ec;margin-bottom:15px}.orders-empty strong{color:var(--ink);font-size:16px;margin-bottom:8px}.orders-empty span{font-size:12px;line-height:1.6}.orders-empty button{margin-top:18px;height:38px;padding:0 15px;border:0;border-radius:7px;background:var(--blue);color:#fff;font-size:13px;font-weight:700;cursor:pointer}.order-row{width:100%;min-height:91px;padding:0 11px;border:0;border-bottom:1px solid #e3eaf2;background:#fff;text-align:left;cursor:pointer;position:relative;transition:background .14s ease,box-shadow .14s ease}.order-row:hover{background:#f8fbff}.order-row.is-selected{z-index:1;background:#f7fbff;box-shadow:inset 0 0 0 1.5px var(--blue);border-radius:7px}.check-box{width:20px;height:20px;border:1.5px solid #afbed0;border-radius:4px;display:grid;place-items:center;color:#fff}.check-box.is-checked{background:var(--blue);border-color:var(--blue)}.check-box svg{width:13px;height:13px}.market-badge{width:34px;height:34px;border-radius:8px;background:#ffdc31;color:#282000;display:grid;place-items:center}.market-badge svg{width:20px;height:20px}.order-id{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:650}.order-id small{font-size:12px;font-weight:700}.buyer-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.order-product{font-size:13px;line-height:1.45;padding-right:6px}.paid-at{font-size:13px;text-align:center}.orders-footer{border-top:1px solid #dfe7f1;display:flex;align-items:center;justify-content:center;gap:38px;color:#65758d;font-size:13px}.orders-footer button{border:0;background:transparent;display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:#56677f}.orders-footer button:hover{color:var(--blue)}.orders-footer svg{width:17px;height:17px}.license-workspace{height:100vh;padding:16px;min-width:0}.workspace-scroll{height:100%;overflow:auto;scrollbar-width:none;border:1px solid #d7e2ef;border-radius:10px;background:#fff;box-shadow:0 7px 24px #2b4e7b0a}.workspace-scroll::-webkit-scrollbar{display:none}.workspace-header{padding:29px 28px 18px}.workspace-header h2{margin:0;font-size:27px;letter-spacing:-.6px}.workspace-header p{margin:6px 0 0;color:#8190a5;font-size:12px}.license-workspace form{padding:0 28px 20px}fieldset{border:0;padding:0;margin:0}legend,.field>span{display:block;margin-bottom:10px;font-size:15px;font-weight:700}.field>span small{font-weight:500;color:#697a91}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.product-choice{height:79px;border:1px solid #cfd9e6;border-radius:8px;background:#fff;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:0 22px;cursor:pointer;font-size:16px;text-align:left;transition:border .14s ease,background .14s ease,box-shadow .14s ease}.product-choice:hover{border-color:#80adf6}.product-choice.selected{color:var(--blue);border:1.5px solid var(--blue);background:#f8fbff;box-shadow:0 0 0 2px #0966ed0a}.product-choice svg{width:32px;height:32px}.product-choice span{font-weight:700}.product-choice b{font-size:17px}.field{display:block;position:relative;margin-top:23px}.field input,.field textarea,.field select{width:100%;border:1px solid #cfd9e6;border-radius:7px;background:#fff;color:var(--ink);outline:none;transition:border-color .14s ease,box-shadow .14s ease}.field input{height:47px;padding:0 13px}.field textarea{height:88px;padding:13px 14px;resize:vertical;min-height:80px}.field input::placeholder,.field textarea::placeholder{color:#a5b0c0}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0966ed1c}.field-row{display:block}.stepper{height:47px;display:flex;align-items:center}.stepper button,.stepper output{height:47px;border:1px solid #cfd9e6;background:#fff;display:grid;place-items:center}.stepper button{width:45px;cursor:pointer}.stepper button:first-child{border-radius:7px 0 0 7px}.stepper button:nth-of-type(2){border-radius:0 7px 7px 0}.stepper button:hover{color:var(--blue);background:#f7fbff}.stepper button svg{width:17px;height:17px}.stepper output{width:116px;border-left:0;border-right:0;font-size:19px;font-weight:650}.stepper em{font-style:normal;margin-left:13px;color:#51617a;font-size:13px}.select-wrap{position:relative;display:block}.field select{height:47px;padding:0 42px 0 14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.select-wrap svg{position:absolute;width:17px;height:17px;top:15px;right:14px;pointer-events:none}.character-count{position:absolute;right:13px;bottom:12px;color:#9aa7b9;font-style:normal;font-size:11px}.generate-button{width:100%;height:66px;margin-top:20px;border:0;border-radius:6px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;gap:11px;font-size:19px;font-weight:700;cursor:pointer;box-shadow:0 6px 14px #0966ed24;transition:transform .14s ease,background .14s ease}.generate-button:hover{background:var(--blue-deep);transform:translateY(-1px)}.generate-button:active{transform:translateY(0)}.generate-button:disabled{cursor:wait;opacity:.78}.generate-button svg{width:24px;height:24px}.spin{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result-section{border-top:1px solid #e0e8f1;padding:20px 20px 28px}.result-section h3{margin:0 0 14px;font-size:15px}.license-result{min-height:105px;border:1px solid #d3deea;border-radius:8px;display:grid;grid-template-columns:98px minmax(230px,1fr) auto auto;gap:14px;align-items:center;padding:13px}.result-status{display:flex;flex-direction:column;gap:8px;color:var(--green);font-size:16px}.result-status svg{width:31px;height:31px}.license-key{display:flex;flex-direction:column;gap:8px;min-width:0}.license-key b{font-size:15px;letter-spacing:.35px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.license-key span{color:#8896aa;font-size:11px}.license-result button{height:43px;padding:0 14px;border:1px solid var(--blue);border-radius:6px;background:#fff;color:var(--blue);display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:700;cursor:pointer}.license-result button:hover{background:#f3f8ff}.license-result button.success{color:#058c7e;border-color:#2fb6a7;background:#effbf9}.license-result button svg{width:18px;height:18px}.result-note{margin:22px 0 0;color:var(--blue);font-size:12px;display:flex;align-items:center;gap:8px}.result-note svg{width:19px;height:19px}.result-empty{min-height:105px;border:1px dashed #c6d5e6;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:10px;color:#77869c;font-size:13px}.result-empty svg{width:27px;height:27px;color:#6e9ee7}.logout-button{margin:0 20px 20px;height:42px;border:0;border-radius:8px;background:transparent;color:#6c7b90;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:13px}.logout-button:hover{background:#f3f7fb;color:var(--ink)}.logout-button svg{width:18px;height:18px}.loading-screen,.login-shell{min-height:100vh;display:grid;place-items:center;background:#eef5fd}.loading-screen{display:flex;gap:11px;justify-content:center;color:#5d6f88}.loading-screen svg{width:25px;height:25px;color:var(--blue)}.login-card{width:min(420px,calc(100vw - 36px));padding:36px;border:1px solid #d6e2ef;border-radius:14px;background:#fff;box-shadow:0 18px 60px #1f46781f}.login-icon{width:56px;height:56px;border-radius:14px;background:#edf5ff;color:var(--blue);display:grid;place-items:center}.login-icon svg{width:31px;height:31px}.login-brand{margin:24px 0 7px;color:var(--blue);font-size:13px;font-weight:700}.login-card h1{margin:0;font-size:27px}.login-copy{margin:9px 0 26px;color:#75859a;font-size:13px}.login-card label span,.order-modal label>span,.order-modal legend{display:block;margin-bottom:8px;color:var(--ink);font-size:13px;font-weight:700}.login-card input,.order-modal input{width:100%;height:45px;border:1px solid #cbd7e5;border-radius:8px;padding:0 13px;outline:none}.login-card input:focus,.order-modal input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0966ed1c}.login-card>button{width:100%;height:47px;margin-top:18px;border:0;border-radius:8px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;cursor:pointer}.login-card>button svg{width:20px;height:20px}.login-error,.modal-error{margin:10px 0 0;color:#c52c3a;font-size:12px}.modal-backdrop{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;padding:24px;background:#0a1c3761;display:grid;place-items:center}.order-modal{width:min(520px,100%);padding:26px;border-radius:13px;background:#fff;box-shadow:0 26px 80px #081b3740}.order-modal header{display:flex;align-items:flex-start;margin-bottom:23px}.order-modal header span{color:var(--blue);font-size:12px;font-weight:700}.order-modal h2{margin:5px 0 0;font-size:23px}.order-modal header>button{margin-left:auto;width:36px;height:36px;border:0;border-radius:8px;background:#f4f7fa;display:grid;place-items:center;cursor:pointer}.order-modal header>button svg{width:20px;height:20px}.order-modal>label{display:block;margin-top:17px}.order-modal fieldset{margin-top:19px}.modal-products{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-products button{height:50px;padding:0 13px;border:1px solid #cbd7e5;border-radius:8px;background:#fff;display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:700}.modal-products button b{margin-left:auto}.modal-products button.selected{border-color:var(--blue);color:var(--blue);background:#f7fbff;box-shadow:0 0 0 1px var(--blue)}.order-modal footer{margin-top:26px;display:flex;justify-content:flex-end;gap:10px}.order-modal footer button{height:42px;min-width:98px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer}.order-modal footer button.secondary{border:1px solid #cbd7e5;background:#fff;color:#53647b}fieldset:disabled,input:disabled,textarea:disabled,select:disabled{opacity:.58}button:disabled{cursor:not-allowed}.toast{position:fixed;z-index:20;left:50%;bottom:27px;transform:translate(-50%);min-height:45px;padding:0 18px;border-radius:8px;background:#102342;color:#fff;display:flex;align-items:center;gap:8px;font-size:13px;box-shadow:0 10px 30px #10234238;animation:toast-in .18s ease-out both}.toast svg{color:#5de0c9;width:19px;height:19px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(9,102,237,.22);outline-offset:2px}@media(max-width:1240px){.admin-shell{grid-template-columns:88px 430px minmax(560px,1fr)}.brand{font-size:0;padding:0;justify-content:center}.brand:after{content:"双语";font-size:17px;font-weight:800;color:var(--blue)}.sidebar nav button{justify-content:center;padding:0;border-left-width:3px}.sidebar nav button span,.sidebar nav button b,.sidebar-foot span,.sidebar-foot i{display:none}.sidebar-foot{justify-content:center;margin-inline:14px}.logout-button{margin-inline:14px}.logout-button span{display:none}.field-row{grid-template-columns:1fr;gap:0}}@media(max-width:900px){body{overflow:auto}.admin-shell{display:block;overflow:visible}.sidebar{min-height:68px;height:68px;position:sticky;top:0;flex-direction:row;align-items:center}.brand{width:160px;height:68px;font-size:15px;padding:0 16px;justify-content:flex-start}.brand:after{display:none}.sidebar nav{display:flex;flex:1;height:68px;overflow-x:auto}.sidebar nav button{width:auto;min-width:76px;height:68px;border-left:0;border-bottom:3px solid transparent}.sidebar nav button.active{border-bottom-color:var(--blue)}.sidebar-foot{display:none}.orders-panel{margin:12px;height:480px;min-height:0}.license-workspace{height:auto;padding:0 12px 12px}.workspace-scroll{overflow:visible}}@media(max-width:680px){.orders-panel{overflow-x:auto}.orders-title,.orders-columns,.orders-list,.orders-footer{min-width:470px}.workspace-header,.license-workspace form{padding-inline:18px}.product-grid{grid-template-columns:1fr;gap:10px}.field-row{grid-template-columns:1fr}.license-result{grid-template-columns:1fr 1fr}.license-key{grid-column:1 / -1;grid-row:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
