*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:#f6f7fb;color:#172033}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#101a2e;color:white;padding:24px 18px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.logo{width:38px;height:38px;border-radius:12px;background:#5a67f2;display:grid;place-items:center;font-weight:800}.brand b{display:block}.brand small{color:#9eabc2}.nav-btn{width:100%;border:0;background:transparent;color:#aeb9cd;text-align:left;padding:12px 14px;border-radius:10px;margin:4px 0;font-size:14px;cursor:pointer}.nav-btn.active,.nav-btn:hover{background:#1d2a44;color:white}.side-note{position:absolute;bottom:22px;left:18px;right:18px;font-size:12px;color:#8d9ab2;line-height:1.5}.main{padding:30px 34px}.top h1{margin:0 0 5px;font-size:27px}.top p{margin:0;color:#68738a}.page{display:none}.page.active{display:block}.grid{display:grid;grid-template-columns:330px 1fr;gap:22px;margin-top:25px}.panel{background:#fff;border:1px solid #e6e9f0;border-radius:16px;box-shadow:0 7px 22px rgba(16,26,46,.04)}.panel.pad{padding:22px}.product-list{display:flex;flex-direction:column;gap:9px}.product-card{border:1px solid #e5e8ef;background:white;border-radius:14px;padding:14px 15px;text-align:left;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.product-card.selected{border-color:#5a67f2;box-shadow:0 0 0 2px rgba(90,103,242,.11)}.product-card h3{margin:6px 0 3px;font-size:14px}.product-card p{margin:0;font-size:11px;color:#7a8499}.arrow{font-size:25px;color:#8791a4}.badge{display:inline-block;font-size:10px;font-weight:800;padding:4px 7px;border-radius:999px;background:#e9edf5;color:#62708b;text-transform:uppercase}.badge.ready{background:#ddf7e8;color:#147645}.badge.configured{background:#fff2c9;color:#8a5a00}.upload{border:1.5px dashed #ccd2df;border-radius:14px;padding:24px;text-align:center;background:#fafbfe}.upload input{margin:12px auto}.hint{font-size:12px;color:#778196}.form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:18px 0}.field label{display:block;font-size:11px;color:#778196;margin-bottom:6px}.field input{width:100%;padding:10px 11px;border:1px solid #dfe3eb;border-radius:9px}.actions{display:flex;gap:10px}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer;background:#5a67f2;color:white}.btn.secondary{background:#eef0ff;color:#4d58ca}.btn.ghost{background:#f0f2f6;color:#536078}.btn:disabled{opacity:.4;cursor:not-allowed}.file-info{display:flex;justify-content:space-between;font-size:12px;margin-top:10px}.file-info span{color:#748096}.table-wrap{overflow:auto;margin-top:18px;max-height:350px}table{border-collapse:collapse;width:100%;font-size:11px}th,td{border-bottom:1px solid #edf0f4;padding:8px 9px;white-space:nowrap}th{background:#f7f8fb;position:sticky;top:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.metrics div{background:#f8f9fc;border-radius:12px;padding:13px}.metrics span{font-size:11px;color:#7b8597;display:block}.metrics b{font-size:17px;margin-top:5px;display:block}.tabs{display:flex;gap:6px;margin-bottom:14px}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.config-card{border:1px solid #e7eaf0;border-radius:13px;padding:16px}.config-card h3{margin:0 0 10px;font-size:14px}.config-card.full{grid-column:1/-1}.json{width:100%;height:220px;border:1px solid #dfe3eb;border-radius:10px;padding:11px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.designer{max-height:360px;overflow:auto}.map-row{display:grid;grid-template-columns:1.1fr 1fr 34px;gap:8px;margin-bottom:7px}.map-row input,.map-row select{border:1px solid #dfe3eb;border-radius:8px;padding:8px;font-size:12px}.icon{border:0;border-radius:8px;background:#eef1f6;cursor:pointer}.danger{color:#b42318}.empty{padding:25px;background:#fafbfc;border:1px dashed #d7dce6;border-radius:10px;color:#778196;font-size:12px}.config-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin:18px 0}.toast{position:fixed;right:28px;bottom:28px;background:#172033;color:white;padding:11px 16px;border-radius:10px;opacity:0;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}.small{font-size:12px;color:#758096}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-title h2{margin:0;font-size:18px}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.side-note{display:none}.grid,.config-grid{grid-template-columns:1fr}.form-row,.metrics{grid-template-columns:1fr 1fr}.config-card.full{grid-column:auto}}

.format-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;align-items:end}.format-grid select,.format-grid input[type=number]{width:100%;padding:10px 11px;border:1px solid #dfe3eb;border-radius:9px;background:#fff}.format-grid input[type=color]{width:100%;height:40px;border:1px solid #dfe3eb;border-radius:9px;padding:3px;background:#fff}.toggle-field{align-self:center;padding-top:18px}.toggle-field label{font-size:12px;color:#536078}.format-preview{margin-top:15px;display:flex;align-items:center;gap:12px}.format-preview span{display:inline-block;padding:10px 16px;border-radius:7px}.format-preview small{color:#758096}@media(max-width:1200px){.format-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.format-grid{grid-template-columns:1fr 1fr}}
/* v2.6 configuration alignment */
#page-config .grid{grid-template-columns:300px minmax(0,1fr);align-items:start}
#page-config .product-list{max-height:72vh;overflow:auto;padding-right:4px}
#page-config .panel.pad{min-width:0}
#page-config .config-help{line-height:1.5;margin-top:12px}
#page-config .config-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
#page-config .config-card{min-width:0;overflow:hidden}
.rate-json{height:320px;white-space:pre;overflow:auto}
.designer{max-height:520px;border:1px solid #edf0f4;border-radius:10px;padding:8px;background:#fbfcfe}
.map-row{grid-template-columns:minmax(260px,1.35fr) minmax(220px,1fr) 36px;align-items:center}
.map-row input,.map-row select{width:100%;min-width:0;height:36px}
#configMeta{display:inline-block;margin-top:3px;color:#5f6b82}
@media(max-width:1100px){#page-config .grid{grid-template-columns:1fr}#page-config .product-list{max-height:none}.map-row{grid-template-columns:1fr 1fr 36px}}
@media(max-width:720px){.map-row{grid-template-columns:1fr}.map-row .icon{height:34px}}

/* v2.8 configuration alignment */
.config-grid{align-items:start}.config-card{min-width:0}.json{width:100%;box-sizing:border-box;min-height:210px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}.rate-json{min-height:360px}.output-json{min-height:300px}.designer{max-height:520px;overflow:auto}.map-row{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(240px,1fr) 38px;gap:8px;align-items:center}.map-row input,.map-row select{min-width:0;width:100%}@media(max-width:900px){.map-row{grid-template-columns:1fr}.map-row .icon{justify-self:end}}
/* v3 professional shell */
.hidden{display:none!important}.auth-screen{position:fixed;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#eef3fb,#f8fafc);z-index:9999}.auth-card{width:min(440px,92vw);background:#fff;border:1px solid #dfe6f1;border-radius:22px;box-shadow:0 24px 70px rgba(32,55,90,.18);padding:32px}.auth-brand{display:flex;gap:14px;align-items:center;margin-bottom:26px}.auth-brand h1{font-size:20px;margin:0}.auth-brand p{margin:3px 0 0;color:#778399}.logo.big{width:52px;height:52px;font-size:18px}.auth-card h2{margin:0 0 4px}.muted{color:#7b8799}.auth-msg{color:#b42318;min-height:22px;margin-top:12px}.wide{width:100%;justify-content:center}.professional-top{display:flex;justify-content:space-between;align-items:center}.user-chip{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e1e7f0;border-radius:14px;padding:8px 10px}.user-chip small{display:block;color:#7a8798}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7eefb;font-weight:800}.small-btn{padding:7px 10px}.nav-group>small{display:block;color:#8691a3;margin:20px 12px 8px;font-weight:700;letter-spacing:.08em}.step-strip{display:flex;gap:8px;margin:14px 0 18px}.step-strip span{background:#f1f4f9;border:1px solid #e1e7ef;padding:7px 12px;border-radius:999px;font-size:12px;color:#657184}.step-strip .active{background:#e7efff;color:#174ea6;border-color:#cbdcff}.job-status{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid #d9e5f7;background:#f5f9ff;border-radius:14px;margin:12px 0}.job-status small{display:block;color:#718096;margin-top:3px}.spinner{width:24px;height:24px;border:3px solid #d9e6fb;border-top-color:#2f67c7;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.review-card{border:1px solid #f0d8a5;background:#fffaf0;border-radius:16px;padding:16px;margin-top:16px}.review-card h3{margin-top:0}.review-list{max-height:260px;overflow:auto;border:1px solid #eadfca;border-radius:10px;background:#fff}.review-row{display:grid;grid-template-columns:32px 1fr 160px;gap:8px;padding:9px 10px;border-bottom:1px solid #f1eadf;align-items:center}.review-row:last-child{border-bottom:0}.review-row small{color:#778}.admin-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0}.admin-toolbar .grow{flex:1;min-width:220px}.stat-pill{padding:9px 13px;border-radius:999px;background:#eef4ff;color:#315c9c}.danger-btn{background:#b42318!important}.user-create{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px;margin:14px 0 18px}.permission-grid label{border:1px solid #e2e8f0;border-radius:10px;padding:9px;background:#fbfcfe}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:9px 10px;border-bottom:1px solid #e9edf3;text-align:left}.table-wrap th{background:#f6f8fb;position:sticky;top:0}.shell{background:#f4f7fb}.panel{box-shadow:0 8px 30px rgba(40,57,85,.06)}
@media(max-width:900px){.user-create,.permission-grid{grid-template-columns:1fr}.professional-top{align-items:flex-start;gap:12px}.user-chip{flex-wrap:wrap}}

/* v3.6 admin operations improvements */
.admin-dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.admin-metrics{margin-top:14px}
.import-history-card{margin-top:18px}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.46);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}
.modal-backdrop.hidden{display:none}
.modal-card{width:min(920px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:22px;box-shadow:0 24px 70px rgba(15,23,42,.28)}
.modal-card .permission-grid{margin:10px 0 18px}
.btn.edit-btn{white-space:nowrap}
@media(max-width:900px){.admin-dash-grid{grid-template-columns:1fr}.modal-card{width:98vw}}
