:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#14243c;background:#f3f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.splash{height:100vh;display:grid;place-items:center;background:#07162e;color:#c9e9ff}.login{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.loginBrand{background:radial-gradient(circle at 25% 10%,#104262 0,#092540 34%,#071a35 75%);color:#fff;padding:7vh 6vw;display:flex;flex-direction:column;justify-content:center}.mark,.logo>span{display:grid;place-items:center;background:linear-gradient(135deg,#28cbe6,#1364ea);color:#fff;font-weight:900;border-radius:18px;width:72px;height:72px}.loginBrand p,.loginForm b,header small,.detailHead small,.modalHead small{letter-spacing:.18em;color:#1478ff;font-weight:900}.loginBrand h1{font-size:clamp(42px,5vw,78px);line-height:1.08;margin:38px 0 20px;max-width:780px}.loginBrand span{font-size:20px;color:#b6d5ee;max-width:720px;line-height:1.7}.loginBrand small{margin-top:auto}.loginForm{display:grid;place-items:center;background:#fff}.loginForm form{width:min(550px,80%)}.loginForm h2{font-size:40px;margin:14px 0}.loginForm p{color:#718097;font-size:18px}.loginForm label,.fields label,.eventBox label,.modal form>label{display:flex;flex-direction:column;gap:8px;font-weight:750;margin-top:18px}.loginForm input,.fields input,.search,textarea{border:1px solid #d7e1ec;border-radius:14px;padding:16px;background:#fff;outline:none}.loginForm input:focus,.fields input:focus,.search:focus,textarea:focus{border-color:#1878ef;box-shadow:0 0 0 3px #e4f0ff}.loginForm button,.headActions button,.save,.modalActions button{border:0;background:#1768e8;color:#fff;border-radius:14px;padding:16px;font-weight:850}.loginForm button{width:100%;margin-top:28px}.loginForm em{display:block;margin-top:18px;background:#fff7da;color:#8b5c00;padding:16px;border-radius:13px;font-style:normal}.error{background:#fff0f0;color:#a52626;padding:12px;border-radius:10px;margin-top:12px}.app{min-height:100vh;display:flex;flex-direction:column}.app aside{background:#081b34;color:#e9f6ff;padding:11px 24px;display:flex;flex-direction:row;align-items:center;gap:16px;position:sticky;top:0;width:100%;min-height:72px;z-index:20;box-shadow:0 8px 24px #0312252e}.logo{display:flex;align-items:center;gap:12px;padding:0;min-width:158px}.logo>span{width:46px;height:46px;border-radius:13px}.logo div{display:flex;flex-direction:column}.logo small{color:#6f95b8;letter-spacing:.12em}.app nav{display:flex;flex-direction:row;align-items:center;gap:6px}.app nav a{padding:11px 14px;color:#8fb0cc;border-radius:11px;font-weight:700;white-space:nowrap}.app nav a.active{background:#123a62;color:#6ee5ff}.staff{margin-left:auto;border-left:1px solid #1c3a58;padding:0 4px 0 16px;display:flex;gap:10px;align-items:center;min-width:175px}.staff>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#1c70e8;font-weight:900}.staff div{display:flex;flex-direction:column}.staff small{color:#8fa8bd}.logout{background:transparent;border:1px solid #244561;color:#a9c2d6;border-radius:10px;padding:10px 14px;white-space:nowrap}.workspace{width:100%;padding:26px 30px 34px;min-width:0}.workspace header{display:flex;justify-content:space-between;align-items:center}.workspace h1{font-size:34px;margin:4px 0}.headActions{display:flex;gap:10px}.secondary{background:#fff!important;color:#27405d!important;border:1px solid #d4e0eb!important}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.stat{background:#fff;border:1px solid #e1e8ef;border-radius:18px;padding:19px;display:flex;gap:14px;align-items:center;box-shadow:0 6px 22px #193a5b0d}.stat>span{font-size:28px;font-weight:900;width:52px;height:52px;border-radius:14px;display:grid;place-items:center}.stat div{display:flex;flex-direction:column}.stat small{color:#8292a5}.blue>span{background:#e4f0ff;color:#1768e8}.amber>span{background:#fff3d2;color:#c47600}.violet>span{background:#efe8ff;color:#714ae8}.green>span{background:#dff8ea;color:#148653}.mainGrid{display:grid;grid-template-columns:minmax(590px,.95fr) minmax(520px,1.05fr);gap:18px;align-items:start}.panel{background:#fff;border:1px solid #dde6ef;border-radius:20px;overflow:hidden;box-shadow:0 12px 35px #1b436312}.panelHead,.detailHead{padding:22px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f5}.panel h2{margin:0}.panel p{margin:6px 0;color:#6f8094}.search{margin:16px 20px;width:calc(100% - 40px);background:#f7f9fc}.table{min-height:350px}.tr{display:grid;grid-template-columns:1.2fr 1.15fr .8fr 1.15fr;gap:14px;width:100%;text-align:left;padding:16px 20px;border:0;border-top:1px solid #edf1f5;background:#fff;color:#1c3047}.tr:not(.th):hover,.tr.selected{background:#f0f7ff}.tr span{display:flex;flex-direction:column;min-width:0}.tr small{color:#7c8b9e;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.th{background:#f8fafc;color:#718196;font-size:12px;text-transform:uppercase;font-weight:900}.stage{font-style:normal;font-size:12px;background:#e7f1ff;color:#216dd1;padding:5px 7px;border-radius:8px;width:max-content;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s7,.s8{background:#dff8ea;color:#147648}.s4,.s5{background:#f0e9ff;color:#7146c6}.empty,.emptyDetail{padding:50px;text-align:center;color:#8291a4}.emptyDetail{min-height:690px;display:flex;flex-direction:column;justify-content:center;align-items:center}.emptyDetail>span{font-size:45px;color:#2c77d5}.publish{display:flex;align-items:center;gap:8px;background:#eef7ff;padding:9px 12px;border-radius:12px;font-weight:800;color:#1b63bb}.stepper{display:flex;overflow:auto;padding:18px 14px;border-bottom:1px solid #edf1f5}.stepper button{flex:1;min-width:86px;border:0;background:transparent;color:#8291a4;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;font-weight:800}.stepper i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e8eef4;font-style:normal}.stepper .done{color:#1768e8}.stepper .done i{background:#1768e8;color:#fff}.editorTabs{padding:20px 24px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.eventBox{display:grid;grid-template-columns:1fr 1.5fr;gap:14px;margin-top:6px;padding:14px;background:#f6f9fc;border-radius:15px}.eventBox textarea,.modal textarea{min-height:88px;resize:vertical}.save{width:100%;margin:18px 0}.timeline>div{display:grid;grid-template-columns:18px 1fr;gap:10px;padding-bottom:16px}.timeline i{width:10px;height:10px;border-radius:50%;background:#2d8af0;margin-top:5px;box-shadow:0 0 0 4px #dfedff}.timeline section{display:flex;flex-direction:column}.timeline small,.timeline em{color:#7b899b;font-style:normal}.timeline p{margin:5px 0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#041426b8;display:grid;place-items:center;z-index:20;padding:20px}.modal form{background:#fff;border-radius:22px;padding:26px;width:min(720px,95vw);max-height:92vh;overflow:auto}.modalHead{display:flex;justify-content:space-between}.modalHead button{border:0;background:transparent;font-size:30px}.modalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.toast{position:fixed;right:24px;bottom:24px;background:#0d8753;color:#fff;padding:15px 20px;border-radius:13px;box-shadow:0 10px 30px #0003;z-index:30}@media (max-width: 1250px){.mainGrid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 760px){.app aside{position:sticky;height:auto;min-height:62px;padding:8px 12px;gap:8px;overflow-x:auto}.app nav{display:flex}.logo{min-width:auto}.logo div,.staff div{display:none}.logo>span,.staff>span{width:40px;height:40px}.app nav a{padding:9px 11px}.staff{margin-left:auto;min-width:auto;padding-left:10px}.logout{padding:9px 11px}.workspace{padding:16px}.workspace header{align-items:flex-start}.workspace h1{font-size:27px}.stats{grid-template-columns:1fr 1fr}.mainGrid{display:block}.detail{margin-top:16px}.fields,.eventBox{grid-template-columns:1fr}.tr{grid-template-columns:1fr 1fr}.tr>span:nth-child(3),.th>span:nth-child(3){display:none}.login{grid-template-columns:1fr}.loginBrand{display:none}.loginForm{min-height:100vh}.stepper button{min-width:76px}.publish span{display:none}}:root select{border:1px solid #d7e1ec;border-radius:14px;padding:16px;background:#fff;outline:none}:root select:focus{border-color:#1878ef;box-shadow:0 0 0 3px #e4f0ff}.headActions{display:flex;gap:10px;flex-wrap:wrap}.bulkBar{display:flex;align-items:center;gap:15px;margin:0 0 18px;padding:12px 16px;border:1px solid #9bc5ff;background:#edf6ff;border-radius:14px}.bulkBar span{color:#63758a}.bulkBar button{margin-left:auto;padding:10px 14px}.bulkBar .clearCheck{margin-left:0;background:transparent;color:#53677d}.panelHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.panelHead p{margin:4px 0 0;color:#7c8b9c;font-size:13px}.checkAll,.rowCheck{display:flex;align-items:center;gap:7px}.checkAll input,.rowCheck input{width:17px;height:17px;accent-color:#1768e8}.batchTr{grid-template-columns:35px 1fr 1fr 1fr 1fr}.rowCheck{padding-left:7px}.rowOpen{grid-column:2/-1;border:0;background:transparent;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;text-align:left;color:inherit;padding:0;cursor:pointer}.rowOpen>span{display:flex;flex-direction:column;min-width:0}.rowOpen small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batchModal{place-items:start center;overflow:auto}.batchSheet{background:#fff;width:min(1500px,98vw);min-height:min(860px,95vh);margin:auto;border-radius:22px;padding:26px;box-shadow:0 25px 80px #001b3d66}.batchSheet .modalHead p{margin:5px 0 0;color:#6f8093}.batchLayout{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-top:18px}.batchInfo,.batchUpload,.preview{border:1px solid #dfe7f0;border-radius:18px;padding:18px}.batchInfo h3,.batchUpload h3,.preview h3{margin:0 0 14px}.batchPublish{margin-top:12px}.dropZone{min-height:210px;border:2px dashed #a8bfd8;background:#f7fbff;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;padding:18px;transition:.2s}.dropZone.drag{border-color:#1768e8;background:#eaf4ff;transform:scale(1.01)}.dropZone span,.dropZone em{color:#6f8093;font-style:normal}.dropZone a{color:#126de7;font-weight:800}.fileButton{background:#1768e8;color:#fff!important;border-radius:11px;padding:10px 17px;cursor:pointer}.fileButton input{display:none}.selectedHint{color:#087752;font-weight:700}.batchSummary{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.batchSummary span,.batchSummary b{background:#edf3f8;padding:7px 10px;border-radius:9px}.batchSummary .bad{background:#ffeded;color:#a62e2e}.preview{margin-top:18px;padding:0;overflow:hidden}.previewHead{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #e4eaf0}.previewHead h3{margin:0}.previewHead p{margin:4px 0 0;color:#6f8093}.previewActions{display:flex;gap:10px;align-items:center}.draftNotice{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid #f1cf71;border-radius:12px;background:#fff8df;color:#765200}.draftNotice span{color:#765200}.syncedTableWrap{min-width:0;width:100%}.topHorizontalScroll{width:100%;height:18px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #dce5ee;background:#f7f9fc;scrollbar-color:#8794a3 #e8edf2;scrollbar-width:auto}.topHorizontalScroll>div{height:1px}.syncedTableWrap>.itemTable,.syncedTableWrap>.previewTable{overflow-x:hidden}.previewTable{overflow:auto;max-height:420px}.pr{min-width:1400px;display:grid;grid-template-columns:55px 150px 125px 170px 85px 140px 115px 180px 265px 40px;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid #edf1f5;position:relative}.prh{position:sticky;top:0;z-index:2;background:#f2f6fa;font-size:12px;font-weight:800;color:#617286;padding-block:11px}.pr input,.pr select{min-width:0;width:100%;padding:9px 10px;border-radius:9px}.pr>button{border:0;background:#edf1f5;color:#718095;border-radius:8px;padding:7px}.pr.invalid{background:#fff6f6}.pr.invalid input{border-color:#e7aaaa}.pr>small{grid-column:2/-1;color:#b22e2e;font-weight:700}.batchError{margin-top:15px}.batchActions{position:sticky;bottom:-26px;background:#fff;padding:15px 0 0;z-index:3}.batchActions button:last-child{min-width:210px}.error{white-space:pre-wrap}@media (max-width: 1000px){.batchLayout{grid-template-columns:1fr}.batchSheet{padding:18px}.batchTr{grid-template-columns:30px 1fr}.batchTr.th>span:nth-child(n+3){display:none}.rowOpen{grid-template-columns:1fr 1fr}.rowOpen>span:nth-child(3),.rowOpen>span:nth-child(4){display:none}.bulkBar{align-items:flex-start;flex-direction:column}.bulkBar button{margin-left:0}.previewHead{align-items:flex-start;gap:10px}.headActions .batchBtn{order:2}}.workflowHint{padding:9px 12px;border:1px solid #234260;border-radius:11px;display:flex;align-items:center;gap:8px;color:#b8cee5;white-space:nowrap;font-size:12px}.workflowHint b{color:#fff}.workSummary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px}.workSummary>div{background:#fff;border:1px solid #dfe7f0;border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;box-shadow:0 5px 18px #18344f0a}.workSummary small{color:#708197;font-weight:800}.workSummary b{font-size:27px;color:#0c3158}.workPanel,.itemsPanel{background:#fff;border:1px solid #dfe7f0;border-radius:18px;overflow:hidden;box-shadow:0 8px 26px #18344f0b}.itemsPanel{margin-top:18px}.workTitle{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:18px 20px;border-bottom:1px solid #e7edf3}.workTitle>div:first-child{min-width:0}.workTitle h2{margin:0}.workTitle p{margin:5px 0 0;color:#738399}.workTitle>div>small{color:#1773df;font-weight:900}.workTable,.itemTable{overflow:auto}.wr{width:100%;min-width:1120px;display:grid;grid-template-columns:1.25fr 1fr 1.35fr .55fr .8fr 1.1fr 1fr;gap:14px;align-items:center;padding:14px 18px;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left;color:#17324f}.wr:not(.wrh){cursor:pointer}.wr:not(.wrh):hover,.wr.selected{background:#eef6ff}.wr span{display:flex;flex-direction:column;min-width:0}.wr small{color:#7a8999;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrh{position:sticky;top:0;background:#f2f6fa;color:#65768a;font-size:12px;font-weight:900;z-index:2}.workEmpty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#758598}.workEmpty b{font-size:20px;color:#17324f}.ir{min-width:1580px;display:grid;grid-template-columns:1.05fr 1fr 1.2fr .55fr 1fr 1.15fr 1.25fr 1.6fr 138px;gap:14px;align-items:center;padding:12px 18px;border-bottom:1px solid #edf1f5}.ir span{display:flex;flex-direction:column}.ir small{color:#7b8999}.irh{background:#f2f6fa;color:#65768a;font-size:12px;font-weight:900}.editableIr input,.rowStageSelect{min-width:0;width:100%;padding:9px 10px;border:1px solid #d4e0eb;border-radius:9px;background:#fff}.editableIr input:focus,.rowStageSelect:focus{outline:2px solid #b8d8ff;border-color:#1768e8}.batchHeaderActions,.batchStatusEditor{display:flex;align-items:flex-end;gap:10px}.batchHeaderActions{width:100%;flex-wrap:wrap}.batchStatusEditor{width:100%;flex-wrap:wrap;padding:8px;border:1px solid #d8e5f3;border-radius:12px;background:#fff}.batchStatusEditor label{display:flex;flex-direction:column;gap:4px;color:#5f7185;font-size:11px;font-weight:800}.batchStatusEditor select,.batchStatusEditor input[type=datetime-local]{min-width:210px;padding:8px 10px;border:1px solid #cddbe9;border-radius:8px;background:#fff;color:#17324f;font-weight:700}.batchStatusEditor input[type=datetime-local]{min-width:180px}.automationHint{flex-basis:100%;color:#587086;line-height:1.45}.issueCell{display:flex;flex-direction:column;gap:6px;padding:6px;border:1px solid #d4e0eb;border-radius:10px;background:#f8fbfd}.issueCell.hasIssue{border-color:#e8bc65;background:#fff9e9}.issueCell>input{border:0;padding:4px;background:transparent}.issueCell>span{display:flex;flex-direction:row;align-items:center;gap:6px;color:#6a7888;font-size:11px}.issueCell>span input{width:auto;min-width:0}.batchStatusEditor button{min-height:40px;padding:9px 12px;border-radius:8px;white-space:nowrap}.batchStatusEditor .publishBatch{background:#087a4f;border-color:#087a4f;color:#fff}.batchStatusEditor .publishBatch:hover:not(:disabled){background:#05633f}.batchStatusEditor .unpublishBatch{background:#fff3f2;border-color:#e6a29c;color:#a22d25}.batchStatusEditor .unpublishBatch:hover:not(:disabled){background:#ffe7e4}.saveWholeBatch{min-height:42px;padding:10px 16px;border-radius:10px;background:#087a4f;box-shadow:0 8px 18px #087a4f2e;white-space:nowrap}.batchHeaderActions>.saveWholeBatch,.batchHeaderActions>.secondary{flex:0 0 auto}.saveWholeBatch:hover:not(:disabled){background:#05633f}.saveRow{padding:9px 10px;border-radius:9px}.rowActions{display:flex;align-items:center;gap:6px}.rowActions button{flex:1 1 0;min-width:62px;padding:9px 10px;border-radius:9px}.deleteRow{border:1px solid #efb6b2;background:#fff;color:#b42318;box-shadow:none}.deleteRow:hover:not(:disabled){border-color:#d92d20;background:#fff2f0}.itemsPanel .workTitle{background:#f8fbff}.itemTools{display:flex;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid #e3ebf3;background:#fff}.itemTools input{width:min(560px,100%);padding:11px 14px;border:1px solid #ccd9e7;border-radius:10px;background:#f8fbff}.itemTools span{color:#718196;font-size:13px;white-space:nowrap}.filteredOut{display:none!important}@media (max-width: 900px){.workSummary{grid-template-columns:1fr 1fr}.workflowHint{display:none}.workTitle{align-items:flex-start;gap:12px}.workTitle p{font-size:13px}.batchHeaderActions{width:100%;flex-direction:column;align-items:stretch}.batchStatusEditor{align-items:stretch}.batchStatusEditor label{flex:1}}
