*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#1a2b40;font:14px "Segoe UI",Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:white;border-right:1px solid #e7edf4;padding:20px 13px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:11px;align-items:center;padding:2px 10px 25px;text-decoration:none;color:#18283c}.brandicon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#288afa,#0759bd);color:#fff;font-size:21px}.brand b{font-size:14px}.brand small,.sidebarUser small{display:block;font-size:10px;color:#8190a3;margin-top:3px}.navcaption{font-size:9px;letter-spacing:1px;color:#9aa6b4;font-weight:700;padding:14px 12px 7px}.navlink{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;color:#5e6e82;text-decoration:none;font-size:12px;margin:2px 0}.navlink span{width:18px;text-align:center;font-size:16px}.navlink:hover,.navlink.active{background:#eaf3ff;color:#116dd2;font-weight:650}.sidebarUser{margin-top:auto;border-top:1px solid #edf1f6;padding:13px 9px 2px;display:flex;align-items:center;gap:10px}.sidebarUser i{width:34px;height:34px;border-radius:50%;background:#eaf3ff;color:#176fcf;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:bold}.sidebarUser b{font-size:11px}.main{margin-left:245px;min-width:0}.topbar{height:65px;position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid #e7edf4;display:flex;align-items:center;padding:0 27px;color:#77869a;font-size:12px}.topbar b{color:#1d2c40}.topUser{margin-left:auto;color:#4c6078}.hamb{display:none}.content{max-width:1450px;margin:auto;padding:25px 28px 42px}.pagehead{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:20px}.pagehead h1{font-size:22px;margin:0 0 6px}.pagehead p{font-size:12px;color:#748399;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #dbe4ef;border-radius:9px;background:#fff;padding:9px 13px;color:#40536a;text-decoration:none;font-weight:600;font-size:11px;cursor:pointer}.button.primary{background:#1677e8;border-color:#1677e8;color:#fff;box-shadow:0 4px 10px #1677e82b}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.stats article,.panel{background:#fff;border:1px solid #e6edf5;border-radius:12px;box-shadow:0 4px 16px #1b385b08}.stats article{padding:15px}.stats small{display:block;color:#75849a;font-size:11px}.stats strong{display:block;font-size:26px;margin:10px 0 4px}.stats span{color:#1b9a65;font-size:10px}.two{display:grid;grid-template-columns:1.1fr 1fr;gap:15px;margin-bottom:15px}.panel{margin-bottom:15px;overflow:hidden}.panel>header{padding:15px 17px;border-bottom:1px solid #edf1f6;display:flex;align-items:center;justify-content:space-between}.panel>header b{font-size:13px}.panel>header small{display:block;color:#8795a6;font-size:10px;margin-top:4px}.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:14px}.quick a{border:1px solid #e7edf4;border-radius:10px;padding:14px 12px;text-decoration:none;color:#1774da;font-size:19px}.quick b{display:block;color:#4e6075;font-size:10px;margin-top:8px}.notice{display:flex;gap:10px;padding:14px 16px;border-bottom:1px solid #f0f3f6}.check{flex:none;width:25px;height:25px;border-radius:50%;background:#e9f8ef;color:#168d56;display:grid;place-items:center;font-size:12px}.check.blue{background:#eaf3ff;color:#1677e8}.notice b{font-size:11px}.notice p{font-size:10px;color:#7c899b;margin:5px 0 0;line-height:1.5}.notice code{font-size:10px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:730px}th{text-align:left;background:#fafbfd;color:#8390a1;font-size:9px;text-transform:uppercase;letter-spacing:.4px;padding:12px 14px;border-bottom:1px solid #e9eef5;white-space:nowrap}td{font-size:11px;padding:12px 14px;border-bottom:1px solid #eff2f6;vertical-align:middle}td b{font-size:11px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdff}.tablefoot{padding:11px 14px;font-size:10px;color:#8090a2;border-top:1px solid #edf1f6}.toolbar{display:flex;gap:8px;margin-bottom:13px}.toolbar input{height:36px;max-width:300px;flex:1;border:1px solid #dfe6ef;border-radius:8px;background:#fff;padding:0 11px;outline:0;font-size:11px}.actions{display:flex;gap:5px}.actions a,.actions button{width:27px;height:27px;border:1px solid #e6edf4;background:#fff;border-radius:7px;display:grid;place-items:center;color:#65768a;text-decoration:none;cursor:pointer}.actions form{display:inline}.badge{display:inline-block;background:#eaf3ff;color:#176cc5;border-radius:20px;padding:4px 8px;font-size:9px;white-space:nowrap}.formpanel{padding:20px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:6px;font-size:11px;color:#5d6f85}.field:first-child{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid #dce5ef;border-radius:8px;background:#fff;padding:10px 11px;color:#1e2c3f;font:12px "Segoe UI",Arial,sans-serif;outline:none}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus{border-color:#77b3fa;box-shadow:0 0 0 3px #e8f3ff}.formbuttons{display:flex;gap:8px;margin-top:19px;padding-top:15px;border-top:1px solid #edf1f5}.flash{padding:11px 14px;border-radius:9px;margin-bottom:14px;font-size:11px}.flash.success{background:#eaf8f0;color:#187d50}.flash.error{background:#fff0f0;color:#bd3547}.empty{text-align:center;color:#8491a2;padding:25px}.two .panel{margin-bottom:0}
@media(max-width:1000px){.sidebar{width:215px}.main{margin-left:215px}.content{padding:20px}.stats{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}}@media(max-width:680px){.sidebar{transform:translateX(-100%);transition:.2s;width:260px;box-shadow:12px 0 25px #172b441c}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.topbar{height:56px;padding:0 13px}.hamb{display:inline-block;margin-right:11px;border:0;background:none;font-size:18px}.topUser{font-size:0}.content{padding:17px 12px 30px}.pagehead h1{font-size:19px}.stats{gap:8px}.stats article{padding:11px}.stats strong{font-size:22px}.stats small{font-size:10px}.stats span{font-size:9px}.two{gap:10px}.formgrid{grid-template-columns:1fr}.field:first-child{grid-column:auto}.formpanel{padding:14px}.pagehead{flex-wrap:wrap}.pagehead .button{margin-left:auto}}
.topActions{margin-left:auto;display:flex;align-items:center;gap:14px}.topActions a,.topActions form button{border:0;background:none;color:#55708f;text-decoration:none;font-size:11px;cursor:pointer}.topActions form{margin:0}.authPage{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#edf5ff,#f7f9fc);padding:20px}.authCard{width:min(100%,430px);padding:28px;background:#fff;border:1px solid #e5edf6;border-radius:17px;box-shadow:0 12px 38px #183c6415}.authBrand{display:flex;gap:11px;align-items:center;margin-bottom:26px}.authBrand b{font-size:14px}.authBrand small{display:block;color:#7e8da1;margin-top:3px;font-size:10px}.authCard h1{font-size:21px;margin:0 0 8px}.authCard>p{font-size:12px;color:#738197;line-height:1.6;margin:0 0 18px}.authForm{display:grid;gap:13px}.authForm label{display:grid;gap:6px;color:#596b81;font-size:11px}.authForm input{height:39px;border:1px solid #dce5ef;border-radius:8px;padding:0 11px;font:12px inherit}.authForm small{color:#8794a5}.authForm .button{margin-top:4px}.publicLink{display:inline-block;color:#176fcf;text-decoration:none;font-size:11px;margin-top:18px}.locationField{max-width:560px;margin-bottom:15px}.roleHelp{padding:0 17px 10px}.roleHelp header{padding:14px 0}.roleHelp ul{padding-left:18px;color:#66778d;font-size:11px;line-height:1.9}.roleHelp b{color:#334860}.quick a{display:block}

/* Product media, learning module, category editor */
.sidebar{overflow-y:auto}.extraFields{border:1px solid #e5edf6;border-radius:12px;padding:16px;margin-top:18px;background:#fbfdff}.extraFields h3{font-size:14px;margin:0 0 6px}.extraFields p{font-size:11px;color:#77879b;margin:0 0 12px}.extraFields input[type=file]{display:block;margin:8px 0}.existingImage{display:inline-flex;vertical-align:top;flex-direction:column;gap:5px;margin:6px 10px 8px 0;font-size:10px;color:#65758a}.existingImage img{width:90px;height:70px;object-fit:cover;border-radius:8px;border:1px solid #dce6f1}.extraHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.questionEditor{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px;margin:10px 0;background:#fff;border:1px solid #e5edf6;border-radius:10px}.questionEditor .field:first-child{grid-column:1/-1}.questionEditor .field{grid-column:auto}.removeQuestion{justify-self:start;border:0;background:#fff1f1;color:#b63242;border-radius:6px;padding:7px 10px;cursor:pointer;font-size:10px}.choosePrompt{max-width:430px;margin:9px auto 0;padding:11px 15px;background:#eaf3ff;color:#176ac6;font-size:11px}.locationSelect select{max-width:58%;padding:7px 4px}.search>a{font-size:10px;color:#1677e8;text-decoration:none;padding-left:5px}.productGallery{height:110px;display:flex;overflow-x:auto;gap:4px;background:#edf3f8}.productGallery img{min-width:100%;height:110px;object-fit:cover}.learningSection{margin-top:18px}.learningIntro,.emptyMini{font-size:10px;color:#738399}.courseCard{background:#fff;border:1px solid #e4ebf3;border-radius:13px;padding:12px;margin:8px 0;box-shadow:0 3px 12px #1b385b08}.courseHead{display:flex;align-items:center;gap:10px}.courseIcon{height:40px;width:40px;border-radius:11px;background:#e8f3ff;color:#0878f9;display:grid;place-items:center;font-size:20px}.courseHead b{font-size:12px}.courseHead small{display:block;color:#7b899a;font-size:9px;margin-top:4px}.courseCard>p{font-size:10px;color:#66768a;line-height:1.5}.videoFrame{position:relative;width:100%;aspect-ratio:16/9;background:#111;border-radius:10px;overflow:hidden}.videoFrame iframe{width:100%;height:100%;border:0}.learningFile{display:block;background:#edf6ff;color:#0878f9;border-radius:9px;padding:11px;text-decoration:none;font-size:11px}.quizBox,.reviewForm{margin-top:11px;border:1px solid #e8edf3;border-radius:9px;padding:10px;font-size:11px}.quizBox summary,.reviewForm summary{font-weight:700;cursor:pointer;color:#1b4d81}.quizBox form,.reviewForm form{display:grid;gap:9px;margin-top:10px}.quizBox fieldset{border:1px solid #edf0f4;border-radius:8px;padding:9px}.quizBox legend{font-weight:650;font-size:10px}.answerOption{display:block;padding:5px;font-size:10px}.learnerName{display:grid;gap:5px;font-size:10px;color:#5b6d81}.learnerName input,.learnerName select,.learnerName textarea{width:100%;border:1px solid #dce5ef;border-radius:7px;padding:8px;font:11px inherit}.learnerName textarea{min-height:55px}.reviewList{margin-top:11px;font-size:10px}.reviewList>p{padding:6px 0;margin:0;border-top:1px solid #eef1f4;color:#5e6e80}.reviewList span{color:#e29a16;font-weight:700}.reviewList small{color:#8995a3}.noQuiz{font-size:9px!important;color:#8995a3!important}.send:disabled{opacity:.5;cursor:not-allowed}
.adminThumbs{display:flex;gap:4px}.adminThumbs img{width:34px;height:28px;object-fit:cover;border-radius:5px;border:1px solid #e1e9f2}.sub{display:block;color:#8491a2;font-size:9px;margin-top:4px}.extraFields .field{margin:10px 0}.locationSelect{font-size:10px}
.navGroup{margin:5px 10px;border-radius:9px}.navGroup summary{padding:10px 12px;color:#8c9ab0;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;list-style:none}.navGroup summary::-webkit-details-marker{display:none}.navGroup summary:after{content:'⌄';float:right}.navGroup[open] summary:after{content:'⌃'}.navGroup .navlink{margin:2px 0}.permissionBox{margin-top:20px;padding:16px;border:1px solid #e5edf6;border-radius:12px;background:#fbfdff}.permissionBox h3{margin:0 0 5px;font-size:14px}.permissionBox p{font-size:11px;color:#77879b}.permissionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.permissionGrid label{padding:8px;background:#fff;border:1px solid #e8eef5;border-radius:7px;font-size:11px}.homeSettings .iconInput{width:70px}.homeSettings .orderInput{width:70px}.homeSettings input[type=text],.homeSettings input:not([type]){min-width:130px;padding:8px;border:1px solid #dfe7f0;border-radius:7px}.homeSettings .formbuttons{padding:14px}.sub{display:block;margin-top:3px;color:#7a899b;font-size:10px}
.navGroup{margin:5px 10px;border-radius:9px}.navGroup summary{padding:10px 12px;color:#8c9ab0;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;list-style:none}.navGroup summary::-webkit-details-marker{display:none}.navGroup summary:after{content:'⌄';float:right}.navGroup[open] summary:after{content:'⌃'}.navGroup .navlink{margin:2px 0}.permissionBox{margin-top:20px;padding:16px;border:1px solid #e5edf6;border-radius:12px;background:#fbfdff}.permissionBox h3{margin:0 0 5px;font-size:14px}.permissionBox p{font-size:11px;color:#77879b}.permissionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.permissionGrid label{padding:8px;background:#fff;border:1px solid #e8eef5;border-radius:7px;font-size:11px}.homeSettings .iconInput{width:70px}.homeSettings .orderInput{width:70px}.homeSettings input[type=text],.homeSettings input:not([type]){min-width:130px;padding:8px;border:1px solid #dfe7f0;border-radius:7px}.homeSettings .formbuttons{padding:14px}.sub{display:block;margin-top:3px;color:#7a899b;font-size:10px}.homeSettings{margin-bottom:18px}@media(max-width:700px){.permissionGrid{grid-template-columns:1fr 1fr}}
.authForm input{font-family:inherit;font-size:12px}.permissionGrid label{cursor:pointer}.homeSettings input{font-family:inherit}
.feedbackDetailGrid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:16px;align-items:start}.feedbackDetail header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e8eef5;padding-bottom:12px}.feedbackDetail header small,.feedbackReply>p{color:#78879a;font-size:12px}.feedbackDetail dl{display:grid;grid-template-columns:160px 1fr;gap:9px 14px;margin:16px 0}.feedbackDetail dt{color:#718198;font-size:12px}.feedbackDetail dd{margin:0;font-size:13px;white-space:pre-wrap}.feedbackDetail h2,.feedbackReply h2{font-size:15px;margin:18px 0 9px}.feedbackFullText{background:#f7f9fc;border:1px solid #e8eef5;border-radius:10px;padding:14px;font-size:13px;line-height:1.7;white-space:pre-wrap}.feedbackMediaGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.feedbackMediaGrid img,.feedbackMediaGrid video{width:100%;height:120px;object-fit:cover;border-radius:9px;background:#111}.feedbackReply form{margin-top:12px}.feedbackReply textarea{width:100%;border:1px solid #dce5ef;border-radius:9px;padding:12px;font:inherit}.feedbackReply form+form{padding-top:12px;border-top:1px solid #edf1f5}@media(max-width:850px){.feedbackDetailGrid{grid-template-columns:1fr}}

.siteLogoPreview{display:block;width:56px;height:56px;object-fit:contain;border-radius:50%;background:#fff;border:1px solid #e5edf5;padding:4px}.bannerPreviewGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.bannerPreview{display:grid;gap:7px;padding:9px;background:#fff;border:1px solid #e4ebf3;border-radius:11px}.bannerPreview>img{width:100%;height:94px;object-fit:cover;border-radius:8px}.bannerPreview span{font-size:11px}.bannerPreview span input:not([type=checkbox]){width:100%;margin-top:5px}

/* Consistent administration forms, clear required fields and report details */
.requiredMark{color:#e5484d;font-style:normal;font-weight:800}.field>span{font-weight:650;color:#243b56}.formpanel{padding:22px}.formgrid{gap:18px}.field input,.field select,.field textarea{min-height:42px;border:1px solid #d6e0ec;border-radius:10px;background:#fff;padding:10px 12px;font:inherit;color:#1b2b41;transition:border-color .15s,box-shadow .15s}.field textarea{min-height:110px}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:#1689f8;box-shadow:0 0 0 3px #1689f81c}.button,.formbuttons button{min-height:40px;padding:10px 16px;border-radius:9px;font-weight:700}.formbuttons{display:flex;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid #edf1f6}.extraFields{margin-top:18px;padding:18px;border:1px solid #e7edf5;border-radius:13px;background:#fbfdff}.extraFields h3{margin:0 0 9px;color:#1d395c}.checkCard{display:grid;gap:7px;padding:14px;background:white;border:1px solid #e5edf5;border-radius:10px}.checkCard span{display:flex;align-items:center;gap:9px}.learnerInfo{display:grid;grid-template-columns:1fr 2fr;gap:12px}.learnerInfo>div{display:grid;gap:5px;padding:11px;background:#f7faff;border-radius:9px}.learnerInfo span{font-size:12px;color:#718197}.reportProgress{width:110px;height:7px;overflow:hidden;border-radius:8px;background:#e8eef6;display:inline-block;vertical-align:middle;margin-right:6px}.reportProgress i{height:100%;display:block;background:#1689f8;border-radius:8px}.answerTranscript{white-space:pre-wrap;font:inherit;font-size:12px;line-height:1.6;background:#f7f9fc;padding:12px;border-radius:9px}.requiredMark{vertical-align:super;font-size:12px}

.bannerPreview.isRemoved{opacity:.42;filter:grayscale(1)}.bannerPreview .danger{color:#b42332;background:#fff1f1;border:1px solid #ffd4d8}.bannerPreview .undo{color:#0878f9;background:#eef6ff}.bannerEditHint{display:block;margin-top:5px;color:#64748b;font-size:10px}

.learningReports{--report-blue:#176fd1}.reportStats{grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;margin:0 0 18px}.reportStats article{min-height:86px;padding:16px 18px;display:flex;flex-direction:column;justify-content:center;gap:7px;border-radius:14px}.reportStats article b{font-size:26px;line-height:1;color:#172d49}.reportStats article span{font-size:11px;line-height:1.4;color:#667991}.reportPanel{border-radius:15px;margin-bottom:18px}.reportPanel>header{padding:17px 20px;min-height:76px}.reportPanel>header h2{margin:0;color:#172d49;font-size:17px;line-height:1.3}.reportPanel>header small{display:block;color:#77869a;font-size:11px;margin-top:5px}.reportCount{padding:6px 10px;background:#eff6ff;color:#176fd1;border-radius:20px;font-size:10px;font-weight:700;white-space:nowrap}.reportPanel .tablewrap{scrollbar-color:#c5d4e5 #f5f8fc}.reportPanel table{min-width:1080px;table-layout:auto}.reportPanel th{padding:13px 14px;color:#65758b;background:#f8fafd}.reportPanel td{padding:13px 14px;font-size:11px;line-height:1.5;color:#304258;overflow-wrap:normal;word-break:normal}.reportPanel td:first-child{font-weight:650}.reportPanel td a.learnerLink{display:inline-block;color:#176fd1;font-weight:700;text-decoration:none;white-space:normal;min-width:95px}.reportPanel td a.learnerLink:hover{text-decoration:underline}.progressTable th:nth-child(1){min-width:135px}.progressTable th:nth-child(2){min-width:105px}.progressTable th:nth-child(3),.progressTable th:nth-child(4){min-width:145px}.progressTable th:nth-child(5){min-width:115px}.progressTable th:nth-child(6){min-width:135px}.progressTable th:nth-child(8){min-width:105px}.progressTable th:nth-child(9){min-width:145px}.timeProgress{white-space:nowrap;font-variant-numeric:tabular-nums}.completeBadge{background:#e8f7ef;color:#168653}.reportDetails{position:relative}.reportDetails summary{cursor:pointer;color:#176fd1;font-weight:650;white-space:nowrap;list-style:none}.reportDetails summary::-webkit-details-marker{display:none}.reportDetails p{position:absolute;z-index:2;right:0;top:20px;width:250px;padding:12px 14px;background:#fff;border:1px solid #dce6f2;border-radius:10px;box-shadow:0 10px 30px #17314f24;color:#34455a;font-size:11px;line-height:1.65}.certificateCode{font:10px ui-monospace,Consolas,monospace;color:#52657c;overflow-wrap:anywhere}.learningReports .pagehead{align-items:center;margin-bottom:18px}.learningReports .pagehead h1{color:#172d49;letter-spacing:-.3px}.learningReports .pagehead p{font-size:12px;line-height:1.5}.learningReports .button.primary{min-height:42px;border-radius:10px}
@media(max-width:800px){.reportStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reportStats article{padding:12px;min-height:78px}.reportStats article b{font-size:22px}.reportStats article span{font-size:10px}.reportPanel>header{padding:14px}.reportPanel>header h2{font-size:15px}}
@media(max-width:520px){.reportStats{grid-template-columns:1fr}.reportStats article{min-height:unset}.learningReports .pagehead{align-items:flex-start}}
.reviewViewButton{height:28px;min-width:39px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfe2fb;border-radius:8px;background:#eff6ff;color:#176fd1;text-decoration:none;font-size:10px;font-weight:700}.reviewViewButton:hover{background:#dceeff;border-color:#9fc9f5}.reviewDetailGrid{max-width:900px}.reviewDetailCard{padding:22px;border-radius:15px}.reviewDetailCard>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:0 0 17px;border-bottom:1px solid #edf1f6}.reviewDetailType{font-size:10px;letter-spacing:.7px;color:#176fd1;font-weight:800}.reviewDetailCard h2{margin:6px 0 0;color:#172d49;font-size:20px}.reviewDetailRating{display:flex;align-items:center;gap:10px;margin:18px 0}.reviewDetailRating strong{font-size:22px;letter-spacing:2px;color:#f2ad18}.reviewDetailRating b{padding:6px 10px;border-radius:20px;background:#fff7df;color:#98620a;font-size:11px}.reviewDetailCard h3{font-size:13px;color:#263b56;margin:18px 0 8px}.reviewDetailText{padding:14px 15px;min-height:96px;border:1px solid #e5edf6;border-radius:11px;background:#f9fbfe;color:#34455a;font-size:13px;line-height:1.75;white-space:pre-wrap}.reviewDetailCard dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0}.reviewDetailCard dl>div{padding:12px;background:#f6f9fd;border-radius:10px}.reviewDetailCard dt{font-size:10px;color:#7b899c}.reviewDetailCard dd{margin:5px 0 0;color:#243851;font-size:12px;font-weight:650}.reviewDetailCard footer{display:flex;gap:9px;padding-top:16px;border-top:1px solid #edf1f6}.reviewDetailCard footer form{margin:0}@media(max-width:520px){.reviewDetailCard{padding:15px}.reviewDetailCard h2{font-size:17px}.reviewDetailCard dl{grid-template-columns:1fr}.reviewDetailCard footer{flex-wrap:wrap}}
.productImageInput{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.productImageUpload{display:grid;gap:9px;margin-top:12px}.addProductImages{justify-self:start;background:#eff6ff;color:#176fd1;border-color:#cfe2fb;cursor:pointer}.productImageUpload>small{font-size:10px;color:#748399}.newProductImagePreviews{display:flex;flex-wrap:wrap;gap:9px}.newProductImage{position:relative;width:105px;height:82px;padding:4px;background:#fff;border:1px solid #dce6f1;border-radius:9px}.newProductImage img{width:100%;height:100%;object-fit:cover;border-radius:6px}.newProductImage .removeProductImage{top:7px;right:7px;width:23px;height:23px;padding:0;font-size:16px;line-height:1}
.productExistingImage{position:relative;display:inline-flex;align-items:center;padding:5px;background:#fff;border:1px solid #e3eaf2;border-radius:10px}.productExistingImage img{width:100px;height:76px;object-fit:cover;border-radius:7px}.removeProductImage{position:absolute;right:8px;top:8px;border:1px solid #ffd2d5;border-radius:7px;background:#fff5f5;color:#b42332;padding:5px 8px;font-size:10px;font-weight:700;cursor:pointer;box-shadow:0 2px 7px #10243a1c}.productExistingImage.imageRemoved{opacity:.4;filter:grayscale(1)}.productExistingImage.imageRemoved img{outline:2px solid #dc3545}

/* Course category editor */
.courseCategoryForm{max-width:1080px;margin:0 auto;border:1px solid #dce8f5;box-shadow:0 12px 32px #17385c0b}.courseCategoryForm .formgrid{gap:20px}.courseCategoryForm .field>span{color:#1d3656;font-size:13px}.courseCategoryForm .field small{display:block;margin-top:6px;color:#71839a;font-size:11px;line-height:1.55}.courseCategoryForm .field textarea{line-height:1.7}.courseCategoryForm .courseIntroFields{background:linear-gradient(135deg,#f5faff,#fff);border-color:#d9e9fb}.courseCategoryForm .courseIntroFields h3,.courseCategoryForm .finalExamFields>h3{font-size:16px}.courseCategoryForm .finalExamFields{background:#f8fbff}.courseCategoryForm .finalQuestionHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 12px;padding:14px;border-radius:11px;background:#edf5ff}.courseCategoryForm .finalQuestionHeader h3{margin:0 0 4px}.courseCategoryForm .finalQuestionHeader p{margin:0;color:#71839a;font-size:11px}.courseCategoryForm .questionEditor{position:relative;display:grid;grid-template-columns:1.4fr 1fr 1fr auto;align-items:end;gap:12px;margin:10px 0;padding:14px;border:1px solid #dce8f5;border-radius:11px;background:white}.courseCategoryForm .questionEditor .field{margin:0}.courseCategoryForm .removeQuestion{height:40px;border:1px solid #ffd5d8;border-radius:9px;background:#fff5f5;color:#b52b36;padding:0 12px;cursor:pointer;font-weight:700}.courseCategoryForm .questionEmpty{padding:18px;text-align:center;border:1px dashed #cad8e8;border-radius:10px;color:#78899c;font-size:12px}.courseIntroPublic{margin:12px 0;padding:15px 16px;border:1px solid #d9e9fb;border-radius:13px;background:linear-gradient(135deg,#f2f8ff,#fff)}.courseIntroPublic h4{margin:0 0 7px;color:#173f71;font-size:13px}.courseIntroPublic p{margin:0;color:#45576d;font-size:12px;line-height:1.7;white-space:pre-line}
@media(max-width:760px){.courseCategoryForm .questionEditor{grid-template-columns:1fr}.courseCategoryForm .finalQuestionHeader{align-items:flex-start;flex-direction:column}}

/* Feedback detail workspace */
.feedbackPageHead{align-items:center;margin-bottom:20px}.feedbackEyebrow{display:inline-block;margin-bottom:6px;color:#1674d3;font-size:10px;font-weight:800;letter-spacing:.09em}.feedbackPageHead h1{margin:0;color:#17314f;font-size:24px;letter-spacing:-.35px}.feedbackPageHead p{margin:6px 0 0}.feedbackBackButton{display:inline-flex;align-items:center;min-height:40px;border-color:#d8e4f1;background:#fff;color:#36536f;font-weight:700}.feedbackDetailGrid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:18px;align-items:start}.feedbackDetail,.feedbackReply,.feedbackStatusPanel{border:1px solid #e0e9f3;border-radius:16px;background:#fff;box-shadow:0 8px 24px #193d6108}.feedbackDetail{padding:22px}.feedbackDetail .feedbackDetailTop{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 0 18px;border-bottom:1px solid #edf2f7}.feedbackDetailTop>div{display:grid;gap:5px}.feedbackDetailTop>div small{color:#8291a3;font-size:9px;font-weight:800;letter-spacing:.08em}.feedbackDetailTop h2{margin:0;color:#183653;font-size:19px;letter-spacing:.1px}.feedbackStatus{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:99px;font-size:11px;font-weight:750;white-space:nowrap}.feedbackStatus:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.feedbackStatus.isWaiting{color:#a86808;background:#fff5df}.feedbackStatus.isProcessing{color:#146ac1;background:#eaf4ff}.feedbackStatus.isAnswered{color:#138452;background:#e7f8ef}.feedbackMetaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0 22px}.feedbackMetaGrid>div{min-width:0;padding:12px 14px;border:1px solid #edf2f7;border-radius:11px;background:#f9fbfe}.feedbackMetaGrid dt{margin-bottom:6px;color:#7a8ba1;font-size:10px}.feedbackMetaGrid dd{margin:0;color:#263d57;font-size:12px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.feedbackMessage,.feedbackAttachments{margin-top:20px}.feedbackSectionTitle{display:flex;align-items:center;gap:8px;margin-bottom:9px}.feedbackSectionTitle>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#edf5ff;color:#1675d4;font-size:13px;font-weight:800}.feedbackSectionTitle h3{margin:0;color:#203b59;font-size:14px}.feedbackSectionTitle small{margin-left:auto;color:#8291a3;font-size:10px}.feedbackFullText{min-height:100px;padding:16px 17px;border:1px solid #e5edf5;border-radius:12px;background:linear-gradient(145deg,#f8fbff,#fff);color:#304760;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.feedbackMediaGrid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.feedbackMediaGrid>a{position:relative;display:block;overflow:hidden;border:1px solid #e2eaf3;border-radius:11px;background:#f4f7fb}.feedbackMediaGrid img,.feedbackMediaGrid video{height:140px;border-radius:0}.feedbackMediaGrid>a span{display:block;padding:7px 9px;color:#53677e;font-size:10px}.feedbackActionColumn{display:grid;gap:14px}.feedbackReply,.feedbackStatusPanel{padding:19px}.feedbackActionHeading{display:flex;align-items:flex-start;gap:11px;margin-bottom:15px}.feedbackActionIcon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#eaf4ff;color:#1475d5;font-size:16px;font-weight:800}.feedbackActionIcon.statusIcon{background:#eaf8f0;color:#198653}.feedbackActionHeading h2{margin:1px 0 5px;color:#203b59;font-size:15px}.feedbackActionHeading p{margin:0;color:#78889b;font-size:11px;line-height:1.5}.feedbackReply form,.feedbackStatusPanel form{display:grid;gap:12px;margin:0}.feedbackReply .field,.feedbackStatusPanel .field{margin:0;display:grid;gap:7px}.feedbackReply .field>span,.feedbackStatusPanel .field>span{font-size:11px}.feedbackReply textarea,.feedbackStatusPanel select{width:100%;border:1px solid #d7e2ef;border-radius:10px;background:#fbfdff;padding:11px 12px;color:#29415c;font:inherit;font-size:12px;line-height:1.6;resize:vertical;transition:border-color .15s,box-shadow .15s}.feedbackReply textarea{min-height:150px}.feedbackReply textarea:focus,.feedbackStatusPanel select:focus{outline:0;border-color:#2584e8;box-shadow:0 0 0 3px #2584e81a}.feedbackSendButton,.feedbackStatusButton{justify-self:start;min-height:40px;padding:0 18px;border-radius:10px}.feedbackStatusPanel{background:#fbfdff}.feedbackStatusButton{border:1px solid #d9e6f4;background:#fff;color:#315273;font-weight:700;cursor:pointer}.feedbackStatusButton:hover{border-color:#a9c9eb;background:#f2f8ff;color:#126bc5}
@media(max-width:850px){.feedbackDetailGrid{grid-template-columns:1fr}.feedbackActionColumn{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.feedbackPageHead{align-items:flex-start;flex-direction:column}.feedbackPageHead h1{font-size:21px}.feedbackActionColumn{grid-template-columns:1fr}.feedbackDetail{padding:16px}.feedbackMetaGrid{grid-template-columns:1fr}.feedbackDetailTop{align-items:flex-start!important;flex-direction:column}.feedbackReply,.feedbackStatusPanel{padding:16px}}
.learningDetailGrid{max-width:1050px}.learningDetailCard{padding:22px;border-radius:16px}.learningDetailCard>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:0 0 17px;border-bottom:1px solid #edf1f6}.learningDetailCard h2{margin:6px 0 0;color:#172d49;font-size:21px}.learningDetailCard h3{margin:22px 0 9px;color:#263b56;font-size:14px}.learningDetailCard dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:17px 0}.learningDetailCard dl>div{padding:13px;background:#f6f9fd;border:1px solid #edf2f8;border-radius:11px;min-width:0}.learningDetailCard dt{font-size:11px;color:#718198}.learningDetailCard dd{margin:5px 0 0;color:#213752;font-size:13px;font-weight:650;overflow-wrap:anywhere}.learningDetailText{padding:15px;border:1px solid #e5edf6;border-radius:11px;background:#f9fbfe;color:#34455a;font-size:13px;line-height:1.75;white-space:pre-wrap}.learningDetailMedia{display:flex;flex-wrap:wrap;gap:10px}.learningDetailMedia img{width:120px;height:90px;object-fit:cover;border:1px solid #e3eaf3;border-radius:10px}.learningQuestionList{padding-left:24px;color:#34455a;font-size:13px;line-height:1.65}.learningQuestionList>li{padding:10px 12px;margin:7px 0;border:1px solid #e7edf5;border-radius:10px;background:#fff}.learningQuestionList ul{margin:6px 0;color:#6a7890}.learningQuestionList small{display:block;color:#718198}.learningDetailCard>footer{display:flex;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid #edf1f6}@media(max-width:700px){.learningDetailCard{padding:15px}.learningDetailCard dl{grid-template-columns:repeat(2,minmax(0,1fr))}}

.homeSettings{border-radius:14px;box-shadow:0 8px 24px #193a5c0a}.homeSettings .tablewrap{border-radius:14px}.homeSettings table{min-width:760px}.homeSettings input[type=text],.homeSettings input:not([type]){min-height:36px;background:#fbfdff}.homeSettings .formbuttons{border-top:1px solid #edf1f6}.productDisplaySettings{padding:18px 20px}.productDisplaySettings h2{margin:0 0 7px;font-size:17px}.productDisplaySettings>p{margin:0 0 14px;color:#708096;font-size:12px;line-height:1.55}.productDisplaySettings .field{max-width:440px;margin:0 0 12px}.productDisplaySettings input[type=number]{width:100%;min-height:40px}.weatherSettings{padding:0 20px 18px;background:linear-gradient(145deg,#fff 0%,#f8fbff 100%);border-color:#dce8f5}.weatherSettings>header{display:block;padding:18px 0 14px;border-bottom:1px solid #e9eff6}.weatherSettings>header b{display:block;color:#172d49;font-size:16px}.weatherSettings>header small{display:block;max-width:none;margin-top:7px;color:#708096;font-size:12px;line-height:1.55}.weatherSettings>p{margin:14px 0 0;padding:12px 14px;border:1px solid #e4edf7;border-radius:10px;background:#f2f7fd;color:#53677f;font-size:12px;line-height:1.6}.weatherSettings>p a{color:#126fd1;font-weight:650}.formpanel .locationField>small,.formpanel .field>small{display:block;margin-top:6px;color:#718198;font-size:11px;line-height:1.5}.formpanel [hidden]{display:none!important}.formpanel select[data-support-type]{min-height:40px}.formpanel input[data-support-custom]{margin-top:8px}@media(max-width:700px){.homeSettings table{min-width:720px}.weatherSettings,.productDisplaySettings{padding-left:14px;padding-right:14px}.weatherSettings>header small{font-size:11px}}

.supportTypeTools{display:flex;align-items:center;gap:9px}.supportTypeTools select{flex:1;min-width:0}.removeSupportType{flex:0 0 auto;border:1px solid #f1c9ce;border-radius:8px;background:#fff7f7;color:#bd3546;padding:9px 11px;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer}.removeSupportType:disabled{border-color:#e4eaf1;background:#f5f7fa;color:#9aa6b4;cursor:not-allowed}.supportTypeTools+.support_detail_custom{margin-top:8px}@media(max-width:540px){.supportTypeTools{align-items:stretch;flex-direction:column}.supportTypeTools select,.removeSupportType{width:100%}}

.productImageSlots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:12px}.productImageSlot{min-height:76px;position:relative;display:grid;place-items:center;border:1px dashed #cbd9e8;border-radius:11px;background:#f8fbff;color:#2476ca;text-align:center;cursor:pointer;overflow:hidden}.productImageSlot:hover{border-color:#1683f3;background:#eff7ff}.productImageSlot span{display:grid;gap:3px;justify-items:center;font-size:22px;font-weight:500}.productImageSlot span small{font-size:10px;font-weight:600}.productImageSlot input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.courseCoverSettings>p{font-size:12px;line-height:1.5;color:#718198}.courseCoverPreview{display:block;width:min(100%,560px);aspect-ratio:16/9;height:auto;object-fit:cover;object-position:center;border:1px solid #dbe5ef;border-radius:12px;background:#edf3f9;box-shadow:0 6px 18px #193a5c12;margin:10px 0 14px}.courseCoverSettings .field{max-width:480px}@media(max-width:500px){.productImageSlots{gap:5px}.productImageSlot{min-height:68px}.productImageSlot span small{font-size:9px}}

.productSlotPreview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:10px;background:#edf3f9}.productImageSlot.hasPreview{border-style:solid;border-color:#83b8e9;box-shadow:0 3px 10px #1576d41a}.productImageSlot.hasPreview:after{content:'Bấm để thay ảnh';position:absolute;left:0;right:0;bottom:0;padding:4px 2px;background:#10243ab8;color:#fff;font-size:9px;pointer-events:none}
.citizenUsersPanel{border-radius:15px;box-shadow:0 8px 26px #18395c0a}.citizenUsersPanel .tablewrap{overflow-x:auto}.citizenUsersPanel table{min-width:1100px;table-layout:auto}.citizenUsersPanel th{padding:14px 13px;background:#f7faff;color:#657891}.citizenUsersPanel td{padding:14px 13px;color:#33465e;line-height:1.5}.citizenUsersPanel td:nth-child(1){min-width:145px}.citizenUsersPanel td:nth-child(2){min-width:100px}.citizenUsersPanel td:nth-child(3){min-width:120px}.citizenUsersPanel td:nth-child(4){min-width:130px}.citizenUsersPanel td:nth-child(5){min-width:145px}.citizenUsersPanel td:nth-child(6){min-width:145px;white-space:nowrap;font-variant-numeric:tabular-nums}.citizenUsersPanel td:nth-child(7){min-width:125px}.citizenUsersPanel td.citizenActions{min-width:270px;display:flex;align-items:center;gap:7px;white-space:nowrap}.citizenActions .button{min-height:34px;padding:7px 10px;font-size:10px}.citizenActions form{margin:0}.citizenActions .citizenDanger{color:#c33d4b;border-color:#f0cbd0}.citizenActions .citizenDanger:hover{background:#fff4f5}.citizenActive{background:#eaf8f0;color:#168653}.citizenLocked{background:#fff0f0;color:#b8434e}.citizenProfileGrid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(400px,1.4fr);gap:15px;margin-bottom:16px}.citizenProfileCard{padding:20px;display:flex;align-items:center;gap:14px}.citizenAvatar{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;flex:none;background:linear-gradient(145deg,#1987f6,#1164c6);color:#fff;font-size:21px;font-weight:750;box-shadow:0 6px 15px #1677e82b}.citizenProfileCard h2{font-size:16px;margin:9px 0 3px;color:#18324f}.citizenProfileCard p{margin:0;color:#77889d;font-size:12px}.citizenProfileCard>.button{margin-left:auto;white-space:nowrap}.citizenContact header,.citizenHistory>header{padding:16px 18px;border-bottom:1px solid #edf1f6}.citizenContact header b,.citizenHistory>header b{font-size:14px;color:#1d3958}.citizenContact dl{margin:0;padding:8px 18px;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.citizenContact dl>div{padding:10px 0;border-bottom:1px solid #f0f3f7}.citizenContact dt{color:#8190a2;font-size:10px;margin-bottom:4px}.citizenContact dd{margin:0;color:#30445c;font-size:12px;font-weight:600}.citizenHistory>header small{display:block;margin-top:5px;color:#7c8ba0;font-size:11px}.citizenHistorySection{padding:15px 18px;border-bottom:1px solid #edf1f6}.citizenHistorySection:last-child{border-bottom:0}.citizenHistorySection h3{display:flex;align-items:center;gap:8px;margin:0 0 11px;color:#24415f;font-size:13px}.citizenHistorySection h3 span{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:20px;background:#edf5ff;color:#1672d4;font-size:10px}.citizenHistorySection table{min-width:650px}.citizenHistorySection td{white-space:normal;line-height:1.5;overflow-wrap:anywhere}.citizenHistorySection td p{margin:4px 0 0;color:#677b92}.citizenEmpty{margin:0;padding:12px;border-radius:9px;background:#f7f9fc;color:#7c8ba0;font-size:11px}.citizenProgress{display:inline-block;margin-left:5px;padding:3px 7px;border-radius:15px;background:#eef6ff;color:#176fd1;font-size:10px;font-weight:700}@media(max-width:800px){.citizenProfileGrid{grid-template-columns:1fr}.citizenProfileCard{flex-wrap:wrap}.citizenProfileCard>.button{margin-left:0}.citizenContact dl{grid-template-columns:1fr 1fr}}@media(max-width:520px){.citizenContact dl{grid-template-columns:1fr}.citizenHistorySection{padding:13px}.citizenProfileCard{padding:15px}}
.feedbackDocumentField input[type=file]{width:100%;min-height:42px;padding:8px;border:1px dashed #b8cce2;border-radius:10px;background:#f8fbff;color:#4b6078;font:11px "Segoe UI",Arial,sans-serif}.feedbackDocumentField input[type=file]::file-selector-button{margin-right:9px;padding:7px 10px;border:0;border-radius:7px;background:#e7f2ff;color:#176fc8;font-weight:700;cursor:pointer}.feedbackDocumentField small{display:block;color:#7a8ba0;font-size:10px;line-height:1.5}.feedbackResponseAttachments{margin:0 0 14px;padding:16px;background:#fff;border:1px solid #e0e9f3;border-radius:14px;box-shadow:0 8px 24px #193d6108}.feedbackDocumentList{display:grid;gap:8px}.feedbackDocumentList>a{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 11px;border:1px solid #e5edf5;border-radius:10px;background:#f9fbfe;color:#263e59;text-decoration:none}.feedbackDocumentList>a:hover{border-color:#b6d4f4;background:#f1f7ff}.feedbackDocumentIcon{display:grid;place-items:center;flex:0 0 35px;height:39px;border-radius:9px;background:#eaf3ff;color:#1674d4;font-size:9px;font-weight:800}.feedbackDocumentList>a>span:nth-child(2){min-width:0;flex:1}.feedbackDocumentList b{display:block;overflow-wrap:anywhere;font-size:11px}.feedbackDocumentList small{display:block;margin-top:4px;color:#8391a2;font-size:9px}.feedbackDocumentList i{color:#1674d4;font-style:normal;font-size:15px}
.citizenEditHead{align-items:center;margin-bottom:18px}.citizenEditHead h1{margin:0 0 5px;color:#17314f;letter-spacing:-.25px}.citizenEditEyebrow{display:block;margin-bottom:6px;color:#1674d3;font-size:9px;font-weight:800;letter-spacing:.1em}.citizenUserForm{padding:0;border:1px solid #e2eaf3;border-radius:16px;box-shadow:0 10px 30px #1a3e620a;overflow:hidden}.citizenUserForm form{padding:0}.citizenFormSection{padding:20px 22px 22px}.citizenFormSection+section{border-top:1px solid #edf1f6;background:linear-gradient(180deg,#fbfdff,#fff)}.citizenFormSection>header{display:flex;align-items:center;gap:11px;margin-bottom:17px}.citizenFormIcon{display:grid;place-items:center;width:37px;height:37px;flex:0 0 37px;border-radius:11px;background:#eaf4ff;color:#1675d5;font-size:17px}.citizenFormIcon.securityIcon{background:#eef8f2;color:#168555}.citizenFormSection header h2{margin:0;color:#1f3d5c;font-size:14px}.citizenFormSection header p{margin:4px 0 0;color:#8190a1;font-size:10px}.citizenUserForm .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.citizenUserForm .field:first-child{grid-column:auto}.citizenUserForm .field{min-width:0;gap:7px}.citizenUserForm .field>span{font-size:11px;color:#415670}.citizenUserForm .field input,.citizenUserForm .field select{min-height:43px;border-radius:10px;background:#fff}.citizenUserForm .field input[readonly]{background:#f4f7fb;color:#677990}.citizenUserForm .field>small{margin:0;color:#8795a5;font-size:10px;line-height:1.4}.citizenFormActions{margin:0;padding:15px 22px;border-top:1px solid #edf1f6;background:#fff}.citizenFormActions .button{min-width:105px}.citizenFormActions .button.primary{background:linear-gradient(135deg,#1686f6,#0c6bd5)}@media(max-width:600px){.citizenEditHead{align-items:flex-start}.citizenUserForm .formgrid{grid-template-columns:1fr;gap:13px}.citizenFormSection{padding:17px 15px}.citizenFormActions{padding:13px 15px}}
.courseStatsEyebrow{display:block;margin-bottom:6px;color:#1573d1;font-size:9px;font-weight:800;letter-spacing:.1em}.courseStats .pagehead{align-items:center}.courseStats .pagehead h1{margin:0 0 5px;color:#17314f}.courseStats .pagehead p{max-width:760px;line-height:1.5}.courseStatsActions{display:flex;flex-wrap:wrap;gap:8px}.courseStatsCards{grid-template-columns:repeat(5,minmax(130px,1fr));gap:11px;margin-bottom:16px}.courseStatsCards article,.courseLearnerCards article{min-width:0;padding:15px;border-radius:13px}.courseStatsCards article b,.courseLearnerCards article b{display:block;color:#193958;font-size:23px;line-height:1.2}.courseStatsCards article span,.courseLearnerCards article span{display:block;margin-top:7px;color:#73849a;font-size:10px;line-height:1.45}.courseStatsPanel{border-radius:15px;margin-bottom:16px}.courseStatsPanel>header{padding:16px 19px}.courseStatsPanel>header h2{margin:0;color:#1b3959;font-size:15px}.courseStatsPanel>header small{display:block;margin-top:5px;color:#7a8a9d;font-size:10px}.courseStatsPanel table{min-width:890px}.courseStatsPanel th{padding:13px 12px;background:#f8fafd;color:#647890}.courseStatsPanel td{padding:13px 12px;color:#33485f;line-height:1.5}.courseStatsPanel td:first-child{min-width:145px}.courseStatsPanel td .sub{display:block;color:#8291a3;font-size:10px}.courseStatsPanel .reviewViewButton{display:inline-block;padding:7px 10px;border:1px solid #cfe1f4;border-radius:8px;background:#f3f8ff;color:#176fc8;text-decoration:none;font-size:10px;font-weight:700;white-space:nowrap}.courseStatsPanel .reviewViewButton:hover{background:#e8f3ff}.courseProgress{display:inline-block;width:76px;height:7px;margin-right:6px;overflow:hidden;border-radius:99px;background:#e8eef5;vertical-align:middle}.courseProgress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#31a0ff,#0878e8)}.courseLearnerCards{grid-template-columns:repeat(4,minmax(140px,1fr));gap:11px;margin-bottom:16px}.courseCompletionNote{padding:14px 16px;border:1px solid #dce9f5;border-radius:12px;background:#f2f8ff;color:#536a83;font-size:11px;line-height:1.6}.courseCompletionNote b{color:#1c466e}.courseCompletionNote p{margin:5px 0 0}.courseStatsLink{white-space:nowrap}@media(max-width:1000px){.courseStatsCards{grid-template-columns:repeat(3,minmax(130px,1fr))}.courseLearnerCards{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media(max-width:600px){.courseStats .pagehead{align-items:flex-start;flex-direction:column}.courseStatsActions{width:100%}.courseStatsActions .button{flex:1}.courseStatsCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.courseStatsCards article,.courseLearnerCards article{padding:12px}.courseStatsCards article b,.courseLearnerCards article b{font-size:20px}.courseStatsPanel>header{padding:13px}.courseLearnerCards{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Course enrollment statistics filters */
.courseStatsFilters{margin:0 0 15px;padding:14px;border:1px solid #dfE8f3;border-radius:14px;background:linear-gradient(135deg,#fff 0%,#f7faff 100%);box-shadow:0 5px 16px #15375b08}
.courseQuickSearch{display:flex;align-items:center;gap:9px}
.courseSearchField{display:flex;align-items:center;gap:9px;flex:1;min-width:180px;height:42px;padding:0 12px;border:1px solid #d8e3f0;border-radius:10px;background:#fff;color:#1680ed}
.courseSearchField:focus-within{border-color:#3e98f4;box-shadow:0 0 0 3px #1682f416}
.courseSearchField span{font-size:20px;line-height:1}
.courseSearchField input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#1b334f;font:inherit;font-size:12px}
.courseStatsFilters .button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 13px;border:1px solid #d9e5f3;border-radius:10px;background:#fff;color:#38536e;font:inherit;font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer}
.courseStatsFilters .button.primary{border-color:#1179e9;background:#1179e9;color:#fff;box-shadow:0 4px 10px #1179e926}
.courseAdvancedToggle{color:#176fc8!important;background:#f2f8ff!important;border-color:#d4e6fa!important}
.courseAdvancedFilters{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #e5edf6}
.courseAdvancedFilters[hidden]{display:none}
.courseAdvancedFilters label{display:grid;gap:6px;color:#596f87;font-size:10px;font-weight:700}
.courseAdvancedFilters input,.courseAdvancedFilters select{width:100%;box-sizing:border-box;min-height:38px;padding:8px 10px;border:1px solid #d9e4f1;border-radius:9px;background:#fff;color:#1d3551;font:inherit;font-size:11px}
.courseAdvancedFilters input:focus,.courseAdvancedFilters select:focus{outline:0;border-color:#2588ed;box-shadow:0 0 0 3px #1682f416}
.courseFilterActions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;padding-top:2px}
@media(max-width:900px){.courseAdvancedFilters{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media(max-width:600px){.courseStatsFilters{padding:11px}.courseQuickSearch{display:grid;grid-template-columns:1fr 1fr}.courseSearchField{grid-column:1/-1}.courseQuickSearch .button{padding:0 8px;font-size:10px}.courseAdvancedFilters{grid-template-columns:1fr 1fr;gap:9px}.courseAdvancedFilters label{font-size:9px}.courseFilterActions{justify-content:stretch}.courseFilterActions .button{flex:1}.courseStatsActions{align-items:stretch}}
.disasterAdminGuide{border-color:#f0d3ce;background:#fff9f7}.disasterAdminGuide p{font-size:11px;line-height:1.65}.disasterAdminGuide a{color:#1673cf;font-weight:700;text-decoration:none}
.orderEyebrow{display:block;margin-bottom:5px;color:#1874d0;font-size:9px;font-weight:800;letter-spacing:.12em}.orderDetailActions{display:flex;flex-wrap:wrap;gap:8px}.orderDetailGrid{display:grid;grid-template-columns:1fr;gap:14px;max-width:950px}.orderInfoCard,.orderProductsCard{overflow:hidden;border-radius:15px}.orderInfoCard>header,.orderProductsCard>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;border-bottom:1px solid #e8eef5}.orderInfoCard>header small{color:#71839a;font-size:9px;font-weight:750;letter-spacing:.08em}.orderInfoCard>header h2,.orderProductsCard>header h2{margin:4px 0 0;color:#1b3654;font-size:16px}.orderCodeBadge{padding:7px 10px;border-radius:8px;background:#eef5ff;color:#176fc8;font-size:11px;font-weight:750}.orderMetaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:18px 20px}.orderMetaGrid>div{display:grid;gap:5px;padding:12px;border:1px solid #e9eff6;border-radius:10px;background:#fafcff}.orderMetaGrid small{color:#71839a;font-size:10px}.orderMetaGrid b{color:#223b57;font-size:12px;overflow-wrap:anywhere}.orderProductList{padding:5px 20px}.orderProductRow{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #edf1f5}.orderProductRow:last-child{border-bottom:0}.orderProductIcon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:11px;background:#edf5ff;color:#1680ec}.orderProductRow>div{display:grid;gap:4px;flex:1;min-width:0}.orderProductRow>div b{color:#243b56;font-size:12px}.orderProductRow small{color:#76879b;font-size:10px}.orderProductRow>a{color:#1474d2;font-size:10px;text-decoration:none;white-space:nowrap}.orderListContact{display:grid;gap:4px;max-width:190px;font-size:10px;color:#40556d}.orderListContact small{color:#78899c;font-size:9px;line-height:1.4;overflow-wrap:anywhere}
@media(max-width:700px){.orderDetailActions{width:100%}.orderDetailActions .button{flex:1}.orderMetaGrid{grid-template-columns:1fr;padding:13px}.orderInfoCard>header,.orderProductsCard>header{padding:14px}.orderProductList{padding:5px 13px}}

.locationCoordinateActions{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin-top:14px}.locationCoordinateActions .button{min-height:40px}.locationCoordinateActions [data-location-status]{color:#718198;font-size:11px;line-height:1.5}.locationCoordinateActions button:disabled{opacity:.65;cursor:wait}


.formpanel .loginGate{display:block;margin:10px 0}.formpanel .loginGate>span{display:flex;align-items:center;gap:12px;min-height:58px;padding:12px 15px;border:1px solid #e0eaf5;border-radius:12px;background:linear-gradient(135deg,#fff,#f7faff);color:#2c435e;font-size:12px;font-weight:650;line-height:1.45;transition:border-color .18s,background .18s,box-shadow .18s}.formpanel .loginGate>span:has(input:checked){border-color:#9cc8f5;background:linear-gradient(135deg,#f1f8ff,#fff);box-shadow:0 4px 14px #1877d810}.formpanel .loginGate input[type=checkbox]{appearance:none;position:relative;flex:0 0 44px;width:44px;height:25px;min-height:25px;margin:0;padding:0;border:0;border-radius:20px;background:radial-gradient(circle at 12px 12.5px,#fff 0 8px,transparent 8.5px),#c6d1df;cursor:pointer;transition:background .18s,box-shadow .18s}.formpanel .loginGate input[type=checkbox]:checked{background:radial-gradient(circle at 32px 12.5px,#fff 0 8px,transparent 8.5px),linear-gradient(90deg,#1585f3,#0869d4)}.formpanel .loginGate input[type=checkbox]:focus-visible{outline:3px solid #1689f844;outline-offset:2px}.formpanel .loginGate input[type=hidden]{display:none}@media(max-width:600px){.formpanel .loginGate>span{min-height:56px;padding:11px 12px;font-size:11px}}

.passwordRevealWrap{position:relative;display:block;width:100%}.passwordRevealWrap>input[type=password],.passwordRevealWrap>input[type=text]{width:100%;padding-right:48px!important}.passwordRevealButton{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:9px;background:transparent;color:#75869a;cursor:pointer;transition:background .15s,color .15s}.passwordRevealButton:hover{background:#edf5ff;color:#1677e8}.passwordRevealButton:focus-visible{outline:2px solid #1689f8;outline-offset:1px}.passwordRevealButton svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.richTextEditor{border:1px solid #d6e0ec;border-radius:12px;background:#fff;overflow:hidden}.richTextToolbar{display:flex;gap:6px;padding:8px 10px;background:#f4f8fd;border-bottom:1px solid #e4ebf3}.richTextToolbar button{min-width:34px;height:32px;border:1px solid #dce6f1;border-radius:7px;background:#fff;color:#315477;font:inherit;cursor:pointer}.richTextToolbar button:hover{border-color:#1689f8;color:#0878f9}.richTextContent{min-height:190px;padding:13px 14px;outline:0;color:#1b2b41;line-height:1.65}.richTextContent:focus{box-shadow:inset 0 0 0 2px #1689f824}.richTextContent ul,.richTextContent ol{padding-left:24px}.localIntroPreview{display:block;width:min(100%,640px);max-height:280px;object-fit:cover;border-radius:12px;border:1px solid #dce6f1;margin:12px 0}
.formpanel:has(.localIntroSettings){max-width:1040px;padding:24px;background:linear-gradient(180deg,#fff,#fbfdff);border-color:#dce7f3}.formpanel:has(.localIntroSettings)>.field,.formpanel:has(.localIntroSettings) .formgrid{max-width:100%}.formpanel:has(.localIntroSettings) .formgrid{grid-template-columns:minmax(240px,1fr) minmax(240px,1fr);gap:18px}.formpanel:has(.localIntroSettings) .field>span{display:block;margin-bottom:5px;color:#23415f;font-size:13px;font-weight:700}.formpanel:has(.localIntroSettings) .extraFields.localIntroSettings{margin-top:22px;padding:20px;background:linear-gradient(145deg,#f5faff,#fff);border-color:#d8e7f7}.formpanel:has(.localIntroSettings) .extraFields h3{font-size:16px}.formpanel:has(.localIntroSettings) .extraFields p{font-size:12px;line-height:1.6}.formpanel:has(.localIntroSettings) .formbuttons{justify-content:flex-end}.richTextContent img{display:block;max-width:100%;height:auto;margin:12px auto;border-radius:10px}.homeIntroText img,.localIntroBody img{display:block;max-width:100%;height:auto;max-height:440px;margin:12px auto;border:1px solid #e3eaf2;border-radius:12px;object-fit:contain;box-shadow:0 4px 12px #17385810}
.formpanel:has(.localIntroSettings) .formgrid{grid-template-columns:minmax(0,1fr)}.formpanel:has(.localIntroSettings) .formgrid>.field:has(select[name="status"]){max-width:340px}.formpanel:has(.localIntroSettings) .richTextContent{min-height:230px;font-size:14px}.formpanel:has(.localIntroSettings) .richTextToolbar{flex-wrap:wrap}
.richTextContent{min-height:360px;max-height:65vh;overflow:auto;font-size:14px;line-height:1.8;white-space:normal;overflow-wrap:anywhere}.richTextContent:empty:before{content:"Nhập nội dung giới thiệu tại đây…";color:#97a6b8;pointer-events:none}.richTextContent p{margin:0 0 10px}.richTextContent h2,.richTextContent h3{margin:12px 0 7px;color:#193b61}.richTextToolbar{position:sticky;top:0;z-index:2;align-items:center}.formpanel:has(.localIntroSettings) .richTextContent{min-height:420px}

.supportAdminPhone{display:block;margin-top:4px;color:#1474d4;text-decoration:none;font-size:11px;font-weight:650}.supportAdminPhone:hover{text-decoration:underline}


.richTextContent{cursor:text;user-select:text;-webkit-user-select:text}.richTextField>.richTextEditor{cursor:text}.richTextField>small{display:block;margin-top:8px;color:#64778e;font-size:11px}

/* Consistent checkbox and radio controls across the admin modules. */
.content input[type=checkbox],.content input[type=radio]{appearance:none;-webkit-appearance:none;position:relative;display:inline-grid;place-content:center;flex:0 0 19px;width:19px;height:19px;min-width:19px;min-height:19px;margin:0 8px 0 0;padding:0;vertical-align:middle;border:1.5px solid #b9c8d9;border-radius:6px;background:#fff;color:#fff;box-shadow:0 1px 2px #18324b10;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}
.content input[type=checkbox]::after{content:"";width:8px;height:4px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) scale(0);transition:transform .14s ease}
.content input[type=checkbox]:checked{border-color:#1478e8;background:linear-gradient(145deg,#258bf7,#0968d4);box-shadow:0 2px 6px #1478e833}
.content input[type=checkbox]:checked::after{transform:rotate(-45deg) scale(1)}
.content input[type=radio]{border-radius:50%}
.content input[type=radio]::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .14s ease}
.content input[type=radio]:checked{border-color:#1478e8;background:#1478e8;box-shadow:0 0 0 3px #1478e81c}
.content input[type=radio]:checked::after{transform:scale(1)}
.content input[type=checkbox]:hover,.content input[type=radio]:hover{border-color:#3188e8}
.content input[type=checkbox]:active,.content input[type=radio]:active{transform:scale(.94)}
.content input[type=checkbox]:focus-visible,.content input[type=radio]:focus-visible{outline:3px solid #1689f833;outline-offset:2px}
.content input[type=checkbox]:disabled,.content input[type=radio]:disabled{cursor:not-allowed;opacity:.55;background:#edf1f6}
.content .formpanel .loginGate input[type=checkbox]::after{content:none}
.content .field>span:has(input[type=checkbox]),.content .field>span:has(input[type=radio]){display:flex;align-items:center;gap:2px;line-height:1.5}
.content td input[type=checkbox],.content td input[type=radio]{margin-right:0}

/* Admin forms share a clear, compact layout across every module. */
.content>.formpanel{padding:clamp(18px,3vw,30px);border:1px solid #dce7f3;border-radius:16px;background:linear-gradient(160deg,#fff 0%,#fbfdff 100%);box-shadow:0 10px 28px #1838580b}
.content>.formpanel>form>.locationField{max-width:620px;margin-bottom:22px}
.formpanel .formgrid{align-items:start;gap:20px 22px}
.formpanel .formgrid>.field{align-self:start;min-width:0}
.formpanel .formgrid>.richTextField{grid-column:1/-1}
.formpanel .field{gap:8px;color:#415873;font-size:12px;line-height:1.45}
.formpanel .field>span{color:#223d5b;font-weight:700}
.formpanel .field input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.formpanel .field select,.formpanel .field textarea{min-height:44px;border:1px solid #d7e2ef;border-radius:11px;background:#fff;padding:11px 13px;color:#203650;font:13px "Segoe UI",Arial,sans-serif;transition:border-color .16s,box-shadow .16s,background .16s}
.formpanel .field textarea{min-height:120px;line-height:1.6;resize:vertical}
.formpanel .field input:focus,.formpanel .field select:focus,.formpanel .field textarea:focus{outline:0;border-color:#2586eb;box-shadow:0 0 0 4px #2586eb18;background:#fff}
.formpanel .field input::placeholder,.formpanel .field textarea::placeholder{color:#92a1b3}
.formpanel .field small,.formpanel form>small{color:#75879c;font-size:11px;line-height:1.55}
.formpanel .extraFields{margin-top:22px;padding:20px;border:1px solid #e1eaf4;border-radius:14px;background:linear-gradient(150deg,#f8fbff,#fff)}
.formpanel .extraFields h3{margin:0 0 10px;color:#193b61;font-size:15px}
.formpanel .extraFields>p{line-height:1.6}
.formpanel .richTextField{display:grid;gap:8px;min-width:0}
.formpanel .richTextEditor{min-width:0;border:1px solid #d5e1ef;border-radius:13px;background:#fff;box-shadow:0 3px 10px #203e5b08}
.formpanel .richTextToolbar{position:sticky;top:64px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;padding:9px;background:#f3f7fc;border-bottom:1px solid #e2eaf3}
.formpanel .richTextToolbar button{min-width:36px;height:34px;border:1px solid #d9e4f0;border-radius:8px;background:#fff;color:#365675;font-size:12px;transition:background .15s,border-color .15s,color .15s}
.formpanel .richTextToolbar button:hover{border-color:#6bb0f4;background:#eaf4ff;color:#086bd2}
.formpanel .richTextContent{min-height:250px;max-height:55vh;overflow:auto;padding:16px;color:#233a55;font-size:14px;line-height:1.75;overflow-wrap:anywhere}
.formpanel .richTextContent:focus{box-shadow:inset 0 0 0 2px #1689f81c}
.formpanel .richTextContent:empty:before{content:"Nhập nội dung tại đây…";color:#98a7b8;pointer-events:none}
.formpanel:has(.localIntroSettings) .richTextContent{min-height:420px}
.formpanel [data-rich-error]{color:#c33b4d;font-weight:650}
.formpanel .formbuttons{align-items:center;flex-wrap:wrap;margin-top:24px}
.formpanel input[type=file]::file-selector-button{margin-right:10px;padding:8px 12px;border:0;border-radius:8px;background:#eaf3ff;color:#176fc8;font-weight:700;cursor:pointer}
@media(max-width:700px){.formpanel .formgrid{grid-template-columns:minmax(0,1fr);gap:15px}.formpanel .formgrid>.richTextField{grid-column:auto}.formpanel .richTextToolbar{top:56px}.formpanel .richTextContent{min-height:220px}.formpanel:has(.localIntroSettings) .richTextContent{min-height:320px}}

/* Shared editor polish for all admin modules, including product categories. */
.formpanel .richTextEditor{overflow:visible;border-color:#d8e4f1;border-radius:14px;box-shadow:0 8px 24px #1738580c}
.formpanel .richTextToolbar{position:sticky;top:64px;gap:7px;padding:10px 12px;background:linear-gradient(180deg,#f7faff,#eef5fc);border-radius:14px 14px 0 0}
.formpanel .richTextToolbar button{display:inline-grid;place-items:center;min-width:38px;height:36px;padding:0 10px;border-color:#d9e5f2;border-radius:9px;box-shadow:0 1px 2px #193a5c0a;font-weight:650}
.formpanel .richTextToolbar button:focus-visible{outline:3px solid #1689f833;outline-offset:1px}
.formpanel .richTextToolbar button:active{transform:translateY(1px);background:#e8f3ff}
.formpanel .richTextContent{min-height:280px;border-radius:0 0 14px 14px;cursor:text}
.formpanel .richTextContent:focus{outline:0;box-shadow:inset 0 0 0 2px #1689f81c}
.formpanel .richTextContent img{max-height:420px;object-fit:contain}
.formpanel .field input[type=checkbox],.formpanel .field input[type=radio]{accent-color:#1477dc}
@media(max-width:700px){.formpanel .richTextToolbar{top:56px;padding:8px}.formpanel .richTextToolbar button{min-width:34px;height:33px}.formpanel .richTextContent{min-height:230px}}

/* OCOP product entry form: refine fields while leaving the existing image grid intact. */
.productForm{max-width:1120px;margin:0 auto;padding:26px;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #dce7f3;border-radius:18px;box-shadow:0 14px 38px #183b5e0c}
.productForm>.locationField{max-width:560px;margin-bottom:22px}
.productForm .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.productForm .formgrid>.field{min-width:0}
.productForm .field{gap:8px}
.productForm .field>span{color:#29425f;font-size:12px;font-weight:700}
.productForm .field input:not([type=file]),.productForm .field select,.productForm .field textarea{min-height:44px;border:1px solid #d5e1ee;border-radius:10px;background:#fbfdff;padding:11px 13px;color:#213a56;font:inherit;font-size:13px;transition:border-color .16s,box-shadow .16s}
.productForm .field textarea{min-height:130px;line-height:1.65;resize:vertical}
.productForm .field input:focus,.productForm .field select:focus,.productForm .field textarea:focus{outline:0;border-color:#2387e8;background:#fff;box-shadow:0 0 0 4px #2387e81a}
.productForm>.extraFields{margin-top:22px;padding:21px;background:linear-gradient(145deg,#f7faff,#fff);border:1px solid #e0e9f3;border-radius:15px}
.productForm>.extraFields>h3{margin:0 0 14px;color:#1d3958;font-size:16px}
.productForm>.extraFields>p{margin:-5px 0 15px;color:#71839a;font-size:12px;line-height:1.55}
.productForm>.extraFields>.formgrid{margin:16px 0 23px;padding:16px;border:1px solid #e4ecf5;border-radius:12px;background:#fff}
.productForm .formbuttons{margin-top:23px;padding-top:18px}
.productForm .formbuttons .primary{min-width:125px;box-shadow:0 5px 14px #1478df26}
.productForm .adminThumbs{display:flex;flex-wrap:wrap;gap:11px;margin-top:12px}
.productForm .adminThumbs img{cursor:zoom-in;transition:transform .16s,box-shadow .16s}
.productForm .adminThumbs img:hover{transform:translateY(-2px);box-shadow:0 7px 17px #183b5e20}
.productForm .productImageSlot img:not([hidden]){z-index:2;cursor:zoom-in}
.productForm .productImageSlot input[type=file]{z-index:1}
.imageLightbox[hidden]{display:none}
.imageLightbox{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:52px 20px 24px;background:#081522e8;backdrop-filter:blur(5px)}
.imageLightbox>img{display:block;max-width:min(94vw,1200px);max-height:calc(100vh - 112px);width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 18px 60px #0008}
.imageLightboxClose{position:absolute;top:18px;right:20px;width:42px;height:42px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff1c;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.imageLightboxClose:hover{background:#ffffff33}
.imageLightboxCaption{margin:0;color:#e8f0f8;font-size:12px}
body.imageLightboxOpen{overflow:hidden}
@media(max-width:700px){.productForm{padding:17px 14px;border-radius:14px}.productForm .formgrid{grid-template-columns:minmax(0,1fr);gap:14px}.productForm>.extraFields{padding:16px 13px}.productForm>.extraFields>.formgrid{padding:12px}.imageLightbox{padding:52px 12px 18px}.imageLightboxClose{top:11px;right:12px}}


.newsCoverPreview{display:block;width:min(100%,640px);max-height:320px;object-fit:cover;border-radius:16px;border:1px solid #d9e5f3;box-shadow:0 12px 30px rgba(18,48,83,.12);margin:10px 0 16px}.newsCoverSettings{padding:20px;border:1px solid #dce7f4;border-radius:16px;background:linear-gradient(145deg,#fff,#f6faff)}.newsCoverSettings h3{margin:0 0 6px;color:#17365f}.newsCoverSettings p{color:#687b93}

.feedbackReplyHistory{margin-top:20px;padding:16px;border:1px solid #dce8f5;border-radius:14px;background:linear-gradient(145deg,#f6faff,#fff)}.feedbackReplyHistory .feedbackSectionTitle{margin-bottom:12px}.feedbackReplyList{display:grid;gap:10px}.feedbackReplyItem{padding:13px 15px;border:1px solid #dce8f3;border-left:4px solid #1684e8;border-radius:11px;background:#fff;box-shadow:0 4px 12px #193d6108}.feedbackReplyItem header{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedbackReplyItem header b{color:#17528a;font-size:12px}.feedbackReplyItem time{color:#7b8da3;font-size:10px;white-space:nowrap}.feedbackReplyItem p{margin:9px 0 0;padding-top:9px;border-top:1px solid #edf2f7;color:#304760;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:700px){.feedbackReplyHistory{padding:12px}.feedbackReplyItem{padding:11px}.feedbackReplyItem header{align-items:flex-start;flex-direction:column;gap:4px}}

.courseCategoryForm .finalQuestionEditor{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch}.courseCategoryForm .finalQuestionEditor>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #eaf0f7;color:#244462}.courseCategoryForm .finalQuestionEditor .field{margin:0}.courseCategoryForm .finalAnswerGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.courseCategoryForm .finalAnswerOption{display:grid;gap:8px;padding:11px;border:1px solid #e0e9f3;border-radius:10px;background:#fbfdff}.courseCategoryForm .finalAnswerOption>span{display:flex;align-items:center;gap:7px;color:#31536f;font-size:11px}.courseCategoryForm .finalAnswerOption input[type=radio]{accent-color:#0878f9}.courseCategoryForm .finalAnswerOption>input{width:100%;min-height:39px;padding:9px 10px;border:1px solid #d7e2ef;border-radius:8px;background:white}.courseCategoryForm .finalQuestionEditor textarea{min-height:64px}.courseCategoryForm .finalExamFields>p{color:#6d7f94;line-height:1.6}.courseCategoryForm textarea[name=detail]{min-height:64px;max-height:84px;line-height:1.5}.finalExamTimer{margin:10px 0;padding:10px 12px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1b65b2;font-weight:800;text-align:center}.finalExamTimer.isUrgent{border-color:#fecaca;background:#fff1f2;color:#c22d3c}@media(max-width:700px){.courseCategoryForm .finalAnswerGrid{grid-template-columns:1fr}}

/* Course setup and final exam form */
.courseCategoryForm .courseIntroFields{padding:22px;background:linear-gradient(145deg,#f4f9ff,#fff 72%);border:1px solid #d7e6f7;border-radius:16px;box-shadow:0 8px 24px #18385808}.courseCategoryForm .courseIntroFields>.richTextField{display:block;max-width:none;margin-top:18px}.courseCategoryForm .courseIntroFields .richTextEditor{overflow:hidden;border:1px solid #cfdef0;border-radius:14px;background:#fff;box-shadow:0 5px 18px #1838580a}.courseCategoryForm .courseIntroFields .richTextToolbar{display:flex;gap:7px;padding:10px;background:#f0f6fd;border-bottom:1px solid #dce8f5}.courseCategoryForm .courseIntroFields .richTextToolbar button{min-width:38px;height:36px;border:1px solid #d6e2f0;border-radius:9px;background:#fff;color:#24517d;cursor:pointer}.courseCategoryForm .courseIntroFields .richTextToolbar button:hover{border-color:#84b9f0;background:#eaf4ff}.courseCategoryForm .courseIntroFields .richTextContent{min-height:280px;max-height:55vh;padding:18px;outline:0;line-height:1.75}.courseCategoryForm .finalExamFields{padding:22px;background:linear-gradient(145deg,#f7fbff,#fff 80%);border:1px solid #d9e7f5;border-radius:16px}.courseCategoryForm .finalExamFields>.formgrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.courseCategoryForm .finalExamFields .finalExamInstructions{grid-column:1/-1}.courseCategoryForm .finalExamFields .finalExamInstructions textarea{min-height:90px}.courseCategoryForm .finalQuestionHeader{margin-top:22px;padding:16px 18px;border:1px solid #dceafe;background:linear-gradient(110deg,#edf6ff,#f8fbff)}.courseCategoryForm .finalQuestionHeader .button{white-space:nowrap}.courseCategoryForm .finalQuestionList{display:grid;gap:14px}.courseCategoryForm .finalQuestionEditor{padding:18px;border-radius:14px;box-shadow:0 5px 16px #18385808}.courseCategoryForm .finalQuestionEditor>header{font-size:14px}.courseCategoryForm .finalQuestionEditor textarea{min-height:76px}.courseCategoryForm .finalAnswerOption{border-color:#d9e5f2;background:#f9fbfe;transition:border-color .15s,background .15s}.courseCategoryForm .finalAnswerOption:focus-within{border-color:#78b5f2;background:#f1f8ff}.courseCategoryForm .finalAnswerOption>span input{width:17px;height:17px}.courseCategoryForm .removeQuestion{min-height:36px}.courseStatsPanel header form{margin:0}.dangerButton{border:1px solid #ffd1d5!important;border-radius:9px;background:#fff4f4!important;color:#b42332!important;font-size:12px;font-weight:700;cursor:pointer}.dangerButton:hover{background:#ffe7e9!important}@media(max-width:700px){.courseCategoryForm .finalExamFields>.formgrid{grid-template-columns:1fr}.courseCategoryForm .courseIntroFields,.courseCategoryForm .finalExamFields{padding:15px}.courseCategoryForm .courseIntroFields .richTextToolbar{flex-wrap:wrap}.courseCategoryForm .finalExamFields .finalExamInstructions{grid-column:auto}}
.auditBulkActions{display:flex;justify-content:flex-end;gap:9px;margin:12px 0}.auditBulkActions button,.courseStatsPanel header .button{min-height:36px;padding:0 13px}@media(max-width:600px){.auditBulkActions{justify-content:flex-start;flex-wrap:wrap}}

/* Refined course introduction editor */
.courseCategoryForm .courseIntroFields{position:relative;isolation:isolate;padding:clamp(18px,2.5vw,28px);background:radial-gradient(ellipse at 100% 0%,#e7f3ff 0,transparent 38%),linear-gradient(145deg,#f8fbff,#fff 68%);border-color:#d6e5f5;box-shadow:0 14px 34px #15385c0b}.courseCategoryForm .courseIntroFields>h3{display:flex;align-items:center;gap:10px;margin-bottom:5px;color:#173b63;font-size:17px}.courseCategoryForm .courseIntroFields>h3:before{content:"✦";display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e7f2ff;color:#1476d4;font-size:14px}.courseCategoryForm .courseIntroFields>p{margin:0 0 18px 40px;color:#71839a;font-size:12px;line-height:1.6}.courseCategoryForm .courseIntroFields>.richTextField{margin-top:20px;gap:9px}.courseCategoryForm .courseIntroFields>.richTextField>span{display:flex;align-items:center;gap:8px;color:#294968;font-size:13px}.courseCategoryForm .courseIntroFields>.richTextField>span:after{content:"Nội dung hiển thị trong khóa học";padding:4px 8px;border-radius:20px;background:#edf5fd;color:#64809c;font-size:10px;font-weight:600}.courseCategoryForm .courseIntroFields .richTextEditor{overflow:hidden;border:1px solid #ccdaea;border-radius:15px;background:#fff;box-shadow:0 8px 22px #1c42620c;transition:border-color .18s,box-shadow .18s}.courseCategoryForm .courseIntroFields .richTextEditor:focus-within{border-color:#70aef0;box-shadow:0 0 0 4px #1689f817,0 12px 28px #1c426212}.courseCategoryForm .courseIntroFields .richTextToolbar{position:relative;top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;background:#f5f8fc;border:0;border-bottom:1px solid #e3ebf4;border-radius:0}.courseCategoryForm .courseIntroFields .richTextToolbar button{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:36px;padding:0 10px;border:1px solid #d9e4f0;border-radius:9px;background:#fff;color:#3b5876;font-size:12px;box-shadow:0 1px 2px #1b38530a;transition:transform .15s,border-color .15s,background .15s,color .15s,box-shadow .15s}.courseCategoryForm .courseIntroFields .richTextToolbar button:hover{transform:translateY(-1px);border-color:#91bdeb;background:#eff7ff;color:#096dc9;box-shadow:0 4px 10px #1877d414}.courseCategoryForm .courseIntroFields .richTextToolbar button:focus-visible{outline:3px solid #1689f833;outline-offset:2px}.courseCategoryForm .courseIntroFields .richTextToolbar button[data-rich-image]{margin-left:auto;padding:0 14px;border-color:#b9d7f7;background:#eaf4ff;color:#075fb7;font-weight:750}.courseCategoryForm .courseIntroFields .richTextContent{min-height:300px;max-height:58vh;padding:22px 24px;color:#263b52;font-size:14px;line-height:1.8;caret-color:#0878f9;overflow:auto}.courseCategoryForm .courseIntroFields .richTextContent:empty:before{content:"Viết nội dung giới thiệu khóa học tại đây…";color:#9aaabe}.courseCategoryForm .courseIntroFields .richTextContent p{margin:0 0 12px}.courseCategoryForm .courseIntroFields .richTextContent h2,.courseCategoryForm .courseIntroFields .richTextContent h3{margin:16px 0 8px;color:#173f6a;line-height:1.35}.courseCategoryForm .courseIntroFields .richTextContent blockquote{margin:14px 0;padding:10px 14px;border-left:3px solid #4b9be8;border-radius:0 9px 9px 0;background:#f2f8ff;color:#4c647e}.courseCategoryForm .courseIntroFields .richTextContent img{max-width:min(100%,680px);max-height:420px;object-fit:contain;border:1px solid #e2eaf3;border-radius:12px;box-shadow:0 6px 18px #16395716}.courseCategoryForm .courseIntroFields>.richTextField>small{padding:0 2px;color:#7b8da2;font-size:11px;line-height:1.55}@media(max-width:640px){.courseCategoryForm .courseIntroFields{padding:15px}.courseCategoryForm .courseIntroFields>p{margin-left:0}.courseCategoryForm .courseIntroFields>.richTextField>span{align-items:flex-start;flex-direction:column}.courseCategoryForm .courseIntroFields>.richTextField>span:after{content:"Chỉnh sửa nội dung và chèn ảnh tại vị trí con trỏ"}.courseCategoryForm .courseIntroFields .richTextToolbar{gap:5px;padding:8px}.courseCategoryForm .courseIntroFields .richTextToolbar button{min-width:34px;height:33px;padding:0 8px}.courseCategoryForm .courseIntroFields .richTextToolbar button[data-rich-image]{margin-left:0}.courseCategoryForm .courseIntroFields .richTextContent{min-height:240px;padding:15px;font-size:13px}}

/* System-wide statistics */
.systemStatsPage{display:grid;gap:20px}.systemStatsPage .pageHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.systemStatsPage .pageHead h1{margin:0 0 5px;font-size:25px;color:#173451}.systemStatsPage .pageHead p,.systemStatsSection header p{margin:0;color:#778ba2;font-size:12px}.statsUpdated{padding:7px 11px;border:1px solid #ccebdc;border-radius:999px;background:#effaf4;color:#16804c;font-size:11px;font-weight:700;white-space:nowrap}.systemStatsCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.systemStatCard{display:flex;align-items:flex-start;gap:13px;min-height:118px;padding:17px;border:1px solid #e1eaf3;border-radius:15px;background:linear-gradient(145deg,#fff,#f9fbfe);box-shadow:0 7px 20px #24415d08}.systemStatIcon{display:grid;place-items:center;flex:0 0 39px;height:39px;border-radius:12px;background:#eaf3ff;color:#1676dc;font-size:18px;font-weight:800}.systemStatCard.violet .systemStatIcon{background:#f2edff;color:#7752d6}.systemStatCard.cyan .systemStatIcon{background:#e8f9fb;color:#138a9c}.systemStatCard.orange .systemStatIcon{background:#fff3e5;color:#cf7610}.systemStatCard.green .systemStatIcon{background:#e9f8ef;color:#208653}.systemStatCard>div{min-width:0}.systemStatCard small{display:block;color:#657b92;font-size:11px;font-weight:650}.systemStatCard strong{display:block;margin:5px 0 2px;color:#173451;font-size:25px;line-height:1.1}.systemStatCard p{margin:0;color:#8a9bae;font-size:10px;line-height:1.45}.systemStatsSection{overflow:hidden}.systemStatsSection>header{display:flex;justify-content:space-between;padding:19px 20px 14px;border-bottom:1px solid #e8eef5}.systemStatsSection>header h2{margin:0 0 5px;font-size:16px;color:#1b3b5b}.systemStatsSection .tablewrap{border:0;border-radius:0;box-shadow:none}.systemStatsSection table{min-width:740px}.systemStatsSection td,.systemStatsSection th{padding:12px 14px}.statsBar{display:block;width:90px;height:7px;overflow:hidden;border-radius:8px;background:#e8eef5}.statsBar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1783f8,#5bb4ff)}.systemModuleStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px}.systemModuleStats article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;border:1px solid #e9eef4;border-radius:11px;background:#fbfcfe}.systemModuleStats article span{color:#536a82;font-size:11px}.systemModuleStats article b{color:#126fd0;font-size:14px;white-space:nowrap}@media(max-width:1050px){.systemStatsCards{grid-template-columns:repeat(2,minmax(0,1fr))}.systemModuleStats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.systemStatsPage{gap:14px}.systemStatsPage .pageHead h1{font-size:21px}.systemStatsCards{gap:9px}.systemStatCard{min-height:104px;padding:12px;gap:9px}.systemStatIcon{flex-basis:32px;height:32px;border-radius:10px;font-size:15px}.systemStatCard strong{font-size:21px}.systemStatsSection>header{padding:15px}.systemModuleStats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:11px}.systemModuleStats article{padding:10px}.systemModuleStats article span{font-size:10px}}

/* Competition and visitor directory modules */
.competitionSettings,.placeSettings{margin-top:22px;padding:22px;border:1px solid #dce8f5;border-radius:16px;background:linear-gradient(145deg,#f7fbff,#fff)}.competitionSettings h3,.placeSettings h3{margin:0 0 8px;color:#173b63}.competitionSettings .formgrid,.placeSettings .formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.competitionQuestionHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px;padding:15px;border-radius:12px;background:#eaf4ff}.competitionQuestionHeader small{display:block;margin-top:5px;color:#71839a}.competitionQuestionList{display:grid;gap:14px}.competitionQuestionEditor{padding:17px;border:1px solid #dce7f2;border-radius:13px;background:#fff}.competitionQuestionEditor header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.competitionQuestionEditor .field{margin:0 0 12px}.competitionQuestionEditor textarea{min-height:74px}.competitionAnswers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.competitionAnswers .field{padding:10px;border:1px solid #e2eaf3;border-radius:10px;background:#f9fbfe}.competitionAnswers .field>span{display:flex;align-items:center;gap:8px}.competitionAnswers input[type=radio]{width:16px;height:16px;accent-color:#0878f9}.placeSettings>p{color:#71839a;font-size:12px}.placeImagePreview{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.placeImagePreview label{display:grid;gap:5px;font-size:11px}.placeImagePreview img{width:104px;height:76px;object-fit:cover;border-radius:8px}.competitionPublic,.placeDirectory{padding:14px}.competitionPublicHero,.placeDirectoryHero{display:flex;align-items:center;gap:14px;padding:18px;border-radius:16px;color:#fff;background:linear-gradient(120deg,#0878f9,#1764ce)}.competitionPublicHero>span,.placeDirectoryHero>span{font-size:32px}.competitionPublicHero h2,.placeDirectoryHero h2{margin:0 0 4px}.competitionPublicHero p,.placeDirectoryHero p{margin:0;opacity:.86}.competitionCards,.placeCards{display:grid;gap:14px;margin-top:16px}.competitionCard{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;border:1px solid #deebf8;border-radius:14px;background:#fff}.competitionCardIcon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eff6ff;font-size:24px}.competitionCard h3{margin:0 0 4px;font-size:15px}.competitionCard p,.competitionCard small{margin:0;color:#6e8197}.competitionDetail{margin-top:14px;padding:18px;border:1px solid #deebf8;border-radius:16px;background:#fff}.competitionDetail>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.competitionDetail>header span:first-child{color:#1680ed;font-size:10px;font-weight:800;letter-spacing:.08em}.competitionDetail h2{margin:5px 0;font-size:20px}.competitionStatus,.competitionHistoryCitizen span{padding:5px 9px;border-radius:20px;background:#eaf4ff;color:#0878f9;font-size:11px;font-weight:700}.competitionAudience{color:#52677f}.competitionFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.competitionFacts span{padding:10px;border-radius:10px;background:#f5f9fe;color:#36536f;font-size:11px}.competitionInstructions{padding:13px;border-left:3px solid #1680ed;border-radius:8px;background:#f4f8fd}.competitionInstructions h3{margin:0 0 6px;font-size:13px}.competitionTimeNotice{padding:12px;border-radius:10px;background:#fff8e8;color:#7b5814;font-size:12px}.competitionStartForm{margin:12px 0}.citizenTimedCompetition{margin-top:15px;padding:15px;border:1px solid #cfe2fb;border-radius:15px;background:#f8fbff}.competitionTimer{display:flex;justify-content:space-between;padding:11px;border-radius:10px;background:#e8f3ff;color:#12579c;font-weight:700}.competitionProgress{margin:12px 0;color:#60768e;font-size:11px}.competitionProgress>div{height:6px;margin-top:6px;border-radius:9px;background:#e1eaf4}.competitionProgress i{display:block;height:100%;width:0;border-radius:9px;background:#1680ed;transition:width .2s}.citizenCompetitionQuestion{margin:0;padding:15px;border:1px solid #dce8f5;border-radius:13px;background:white}.citizenCompetitionQuestion legend{color:#1276dc;font-size:11px;font-weight:800}.citizenCompetitionQuestion h3{margin:8px 0 14px;font-size:15px;line-height:1.5}.citizenAnswer{display:flex;align-items:center;gap:9px;margin:8px 0;padding:11px;border:1px solid #dce6f2;border-radius:10px;cursor:pointer}.citizenAnswer:has(input:checked){border-color:#1680ed;background:#eff7ff}.citizenAnswer input{accent-color:#0878f9}.citizenAnswer span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#eaf2fb;color:#28577e;font-weight:800}.competitionQuestionNav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px}.competitionQuestionNav span{font-size:11px;color:#64788e}.competitionHistoryCitizen{margin-top:18px;padding-top:14px;border-top:1px solid #e7eef6}.competitionHistoryCitizen h3{font-size:14px}.competitionAttemptList{display:grid;gap:8px}.competitionAttemptList>div{display:flex;align-items:center;gap:8px;padding:10px;border-radius:9px;background:#f5f8fc}.competitionAttemptList small{margin-left:auto;color:#74869a}.placeCard{overflow:hidden;border:1px solid #deebf8;border-radius:15px;background:#fff;box-shadow:0 5px 16px #18385808}.placeGallery{height:185px;background:#eef4fa}.placeMainImage{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.placeNoImage{display:grid;place-items:center;height:100%;font-size:52px}.placeCardBody{padding:15px}.placeType{color:#1877d4;font-size:10px;font-weight:800;text-transform:uppercase}.placeCard h3{margin:5px 0 8px;font-size:17px}.placeCard p{color:#64788e;font-size:12px;line-height:1.5}.placeAmenities{display:grid;gap:4px;padding:10px;border-radius:10px;background:#f4f8fd;color:#405971;font-size:11px}.placeActions{display:flex;gap:8px;margin:12px 0}.placeThumbs{display:flex;gap:7px;overflow:auto}.placeThumbs button{flex:none;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:white}.placeThumbs button:hover,.placeThumbs button:focus{border-color:#1680ed}.placeThumbs img{display:block;width:58px;height:44px;object-fit:cover}.imageLightbox{width:min(94vw,900px);max-width:none;max-height:92vh;padding:34px 12px 12px;border:0;border-radius:13px;background:#0b1725}.imageLightbox::backdrop{background:#08111dcc}.imageLightbox img{display:block;max-width:100%;max-height:82vh;margin:auto;object-fit:contain}.imageLightbox button{position:absolute;top:6px;right:9px;border:0;background:transparent;color:white;font-size:27px;cursor:pointer}
@media(max-width:620px){.competitionSettings,.placeSettings{padding:15px}.competitionSettings .formgrid,.placeSettings .formgrid,.competitionAnswers{grid-template-columns:1fr}.competitionCard{grid-template-columns:auto 1fr}.competitionCard .button{grid-column:2;justify-self:start}.competitionFacts{grid-template-columns:1fr}.competitionQuestionNav{flex-wrap:wrap}.competitionQuestionNav .button{flex:1}.competitionQuestionNav span{order:-1;width:100%;text-align:center}.placeGallery{height:155px}}

.competitionAdminTabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.competitionAdminTabs a{padding:9px 12px;border:1px solid #dce8f5;border-radius:9px;background:#fff;color:#24517d;text-decoration:none;font-size:12px;font-weight:700}.competitionStatsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.competitionStatsGrid article{display:grid;gap:9px;padding:17px;border:1px solid #dce8f5;border-radius:12px;background:#fff}.competitionStatsGrid small{color:#71839a}.competitionStatsGrid b{font-size:20px;color:#173b63}@media(max-width:700px){.competitionStatsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.competitionQuestionActions{display:flex;gap:8px;flex-wrap:wrap}.questionBankForm,.questionImportPanel{max-width:900px;margin:0 auto;padding:22px}.questionBankForm form,.questionImportPanel form{display:grid;gap:15px;margin-top:16px}.competitionBankSearch{margin:12px 0}.competitionBankQuestionList{max-height:440px;overflow:auto;padding:4px}.competitionBankQuestion{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid #e0e9f3;border-radius:10px;background:#fff;cursor:pointer}.competitionBankQuestion[hidden]{display:none}.competitionBankQuestion>input{margin-top:3px;accent-color:#0878f9}.competitionBankQuestion span{display:grid;gap:4px}.competitionBankQuestion small{color:#73859a;font-size:11px}.questionEmpty{padding:18px;text-align:center;color:#71839a}.questionImportPanel p{color:#61758b;line-height:1.6}.questionImportPanel>a{display:inline-block;margin-bottom:14px;color:#0878f9}/* Competition and place detail refinements */
.competitionSettings .formgrid .field small{display:block;margin-top:7px;color:#6f8298;font-size:11px;line-height:1.5}.placeLongDetailField{grid-column:1/-1}.placeLongDetailField .richTextEditor{overflow:hidden;border:1px solid #d5e2ef;border-radius:13px;background:#fff}.placeLongDetailField .richTextToolbar{position:static;display:flex;gap:7px;padding:9px;background:#f4f8fc;border-bottom:1px solid #e4edf6}.placeLongDetailField .richTextToolbar button{min-width:36px;height:34px;border:1px solid #d8e3ee;border-radius:8px;background:#fff;color:#23517e;cursor:pointer}.placeLongDetailField .richTextContent{min-height:170px;padding:14px;outline:0;line-height:1.7}.placeSettings .placeLongDetailField{margin-top:20px}.placeLongDetail{margin:12px 0;padding:13px 15px;border-left:3px solid #1680ed;border-radius:9px;background:#f5f9fe;color:#405975;font-size:12px;line-height:1.7}.systemVisitGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px}.systemStatsSection>header strong{align-self:center;color:#0878f9;font-size:13px}@media(max-width:720px){.placeLongDetailField{grid-column:auto}.systemVisitGrid{grid-template-columns:1fr}}
.competitionPublic{padding:16px}.competitionPublicHero{padding:22px;border-radius:18px;box-shadow:0 12px 25px #1764ce25}.competitionDetail{padding:22px;border:1px solid #d8e7f6;border-radius:20px;background:linear-gradient(155deg,#fff,#f7fbff);box-shadow:0 12px 32px #173e620d}.competitionDetail>header{padding-bottom:16px;border-bottom:1px solid #e5edf6}.competitionDetail h2{font-size:23px}.competitionStatus{padding:7px 12px}.competitionFacts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:18px 0}.competitionFacts span{display:flex;align-items:center;min-height:48px;padding:12px;border:1px solid #e5edf6;border-radius:12px;background:#f7faff;font-size:12px;line-height:1.5}.competitionInstructions{margin:18px 0;padding:17px;border:1px solid #dceafb;border-left:4px solid #1680ed;border-radius:12px;background:#f5f9ff;line-height:1.7}.competitionStartForm .button,.competitionQuestionNav .button{min-height:44px;padding:0 20px;border-radius:11px;font-weight:750}.competitionTimeNotice{margin:16px 0;padding:15px;border:1px solid #f5dfae;border-radius:12px;line-height:1.6}.competitionHistoryCitizen{margin-top:20px;padding-top:16px;border-top:1px solid #e6edf5}.competitionAttemptList>div{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:9px;padding:13px;border:1px solid #e4edf7;border-radius:12px;background:#f8fbff}.competitionAttemptList small{grid-column:1/-1;color:#74869a}@media(max-width:560px){.competitionPublic{padding:10px}.competitionDetail{padding:15px}.competitionDetail>header{align-items:flex-start}.competitionFacts{grid-template-columns:1fr 1fr}}
.placeTypeManager{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:center}.placeTypeManager .dangerButton{min-height:38px;padding:0 12px}@media(max-width:700px){.placeTypeManager{grid-template-columns:1fr 1fr}.placeTypeManager select{grid-column:1/-1}}

.questionBankForm{max-width:900px;margin:20px auto;padding:28px;border:1px solid #dce8f5;border-radius:20px;background:linear-gradient(145deg,#fff,#f7fbff);box-shadow:0 16px 45px #163c650d}.questionBankForm>header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.questionBankForm>header h2{margin:0;color:#153b62;font-size:22px}.questionBankForm>header p{margin:5px 0 0;color:#6b7f95}.questionBankIcon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#e9f3ff;color:#0878f9;font-size:23px}.questionBankForm textarea{min-height:120px}.questionTopicRow{display:flex;gap:10px;align-items:center}.questionTopicRow select{flex:1}.questionTopicCreate{margin:12px 0;padding:16px;border:1px dashed #a9c9eb;border-radius:12px;background:#f4f9ff}.questionTopicCreate[hidden]{display:none}.questionBankForm .competitionAnswers{margin:18px 0}.questionBankForm .competitionAnswers .field{padding:15px;border-color:#d8e6f5;background:#f6faff}.questionBankForm .competitionAnswers .field:has(input[type=radio]:checked){border-color:#1680ed;background:#edf6ff}.questionBankForm .button.primary{min-width:180px}.competitionBankFilters{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(260px,1.3fr);gap:14px;align-items:end;margin:14px 0}.competitionBankFilters .field{margin:0}.placeSettings .placeLongDetailField{margin:18px 0 22px;padding:18px;border:1px solid #dce8f5;border-radius:14px;background:#fff}.placeLongDetailField .richTextContent{min-height:160px;padding:14px;outline:none}.placeImagePreview{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px;margin:14px 0}.placeImagePreview label,.placeImageTile{position:relative;display:flex;aspect-ratio:1/1;min-width:0;overflow:hidden;align-items:center;justify-content:center;border:1px solid #d7e4f2;border-radius:12px;background:#f4f8fc}.placeImagePreview label img,.placeImageTile img{width:100%;height:100%;object-fit:cover}.placeImagePreview label input{position:absolute;left:7px;bottom:7px;margin:0;padding:5px 7px;border-radius:7px;background:#fffE;color:#263c55}.placeImageUploadPreview:empty{display:none}.placeImageTile.isNew{display:block}.placeImageTile small{position:absolute;right:0;bottom:0;left:0;overflow:hidden;padding:5px 7px;background:#102a43b8;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:10px}@media(max-width:700px){.questionBankForm{margin:12px;padding:18px}.competitionBankFilters{grid-template-columns:1fr}.placeImagePreview{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}.questionTopicRow{align-items:stretch;flex-direction:column}}

.actions{flex-wrap:wrap;align-items:center;gap:7px;min-width:250px}.actions .reviewViewButton{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 10px;border:1px solid #d6e5f5;border-radius:8px;background:#f5f9ff;color:#176fcf;text-decoration:none;font-size:10px;font-weight:700;white-space:nowrap}.actions .reviewViewButton:hover{border-color:#8fbdf0;background:#eaf4ff;color:#075bb5}.actions a[href*='action=history'],.actions a[href*='action=participants'],.actions a[href*='action=stats']{min-width:68px}.competitionSettings .formgrid{gap:18px}.competitionSettings .field input[type=number]{min-height:44px}

.formpanel:has(.placeSettings)>form{padding:28px}.formpanel:has(.placeSettings) .formgrid{align-items:start;gap:20px}.formpanel:has(.placeSettings) .formgrid>.field{min-width:0}.formpanel:has(.placeSettings) .placeSettings{margin-top:24px;padding:24px;border:1px solid #dbe8f6;border-radius:18px;background:linear-gradient(145deg,#f7fbff,#fff)}.placeSettings>h3{margin:0 0 8px;font-size:17px}.placeSettings>label.field{margin:18px 0}.placeSettings .placeLongDetailField{background:#fff;box-shadow:0 5px 18px #18385808}.placeSettings .placeLongDetailField textarea{min-height:150px}.placeSettings input[type=file]{min-height:58px;padding:12px;border:1px dashed #a9c5e4;border-radius:12px;background:#f8fbff}.placeTypeManager{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.placeTypeManager select{min-width:220px;flex:1}.placeTypeManager .button{min-height:40px}.placeSettings .formgrid{padding:18px;border-radius:13px;background:#f7faff}.placeSettings .formgrid .field{margin:0}.locationCoordinateActions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:15px 0;color:#71839a;font-size:12px}.formpanel:has(.placeSettings) .formbuttons{display:flex;gap:10px;padding:20px 28px;border-top:1px solid #e8eef5;background:#fbfdff}.formpanel:has(.placeSettings) .formbuttons .button{min-width:110px;min-height:42px}@media(max-width:760px){.formpanel:has(.placeSettings)>form{padding:16px}.formpanel:has(.placeSettings) .formgrid{grid-template-columns:1fr}.formpanel:has(.placeSettings) .placeSettings{padding:16px}.formpanel:has(.placeSettings) .formbuttons{padding:16px;position:sticky;bottom:0;z-index:2}}

.questionBankForm>header{justify-content:flex-start;width:100%;padding:0 0 18px;border-bottom:1px solid #e6eef7}.questionBankForm>header>div{display:grid;gap:4px}.questionBankForm>header h2{font-size:23px;line-height:1.25}.questionBankForm>header p{font-size:12px;line-height:1.5}.questionBankForm form{display:grid;gap:17px}.questionBankForm .field{min-width:0}.questionBankForm .field>span,.questionBankForm .field>label>span{display:block;margin-bottom:7px;color:#29435f;font-size:12px;font-weight:700}.questionBankForm textarea,.questionBankForm input:not([type=radio]),.questionTopicRow select{width:100%;border:1px solid #d3e1f0;border-radius:11px;background:#fff;color:#173552;transition:border-color .15s,box-shadow .15s,background .15s}.questionBankForm textarea{min-height:125px;padding:14px;line-height:1.6;resize:vertical}.questionBankForm input:not([type=radio]),.questionTopicRow select{min-height:44px;padding:10px 12px}.questionBankForm textarea:focus,.questionBankForm input:focus,.questionTopicRow select:focus{border-color:#2582e8;outline:0;box-shadow:0 0 0 3px #2582e81a}.questionTopicRow{align-items:stretch}.questionTopicRow .button{min-height:44px;white-space:nowrap}.questionBankForm .competitionAnswers{gap:12px}.questionBankForm .competitionAnswers .field{display:grid;gap:8px;padding:15px;border-radius:13px}.questionBankForm .competitionAnswers .field>span{display:flex;align-items:center;gap:8px;margin:0}.questionBankForm .competitionAnswers input[type=radio]{width:18px;height:18px}.questionBankForm>form>.button.primary{min-height:44px;border-radius:10px}@media(max-width:600px){.questionBankForm>header{align-items:flex-start}.questionBankForm>header h2{font-size:19px}.questionBankForm .competitionAnswers{grid-template-columns:1fr}}

/* Question bank: keep all four answer cards aligned in an even 2 × 2 grid. */
.questionBankForm .competitionAnswers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch;margin:18px 0}
.questionBankForm .competitionAnswers>.field,.questionBankForm .competitionAnswers>.field:first-child{grid-column:auto;display:grid;grid-template-rows:auto 1fr;align-content:start;gap:10px;min-width:0;min-height:108px;margin:0;padding:16px;border:1px solid #d8e6f5;border-radius:14px;background:#f6faff;transition:border-color .16s,background .16s,box-shadow .16s}
.questionBankForm .competitionAnswers>.field:hover{border-color:#a9c8ed;background:#f1f7ff}
.questionBankForm .competitionAnswers>.field:has(input[type=radio]:checked){border-color:#1680ed;background:#edf6ff;box-shadow:0 0 0 2px #1680ed12}
.questionBankForm .competitionAnswers>.field>span{display:flex;align-items:center;gap:10px;min-height:22px;margin:0;color:#29435f;font-size:12px;font-weight:700}
.questionBankForm .competitionAnswers>.field>span input[type=radio]{flex:none;width:18px;height:18px;margin:0;accent-color:#1677e8}
.questionBankForm .competitionAnswers>.field>input:not([type=radio]){width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d3e1f0;border-radius:10px;background:#fff;color:#173552;font:inherit}
.questionBankForm .competitionAnswers>.field>input:focus{border-color:#2582e8;outline:0;box-shadow:0 0 0 3px #2582e81a}
@media(max-width:600px){.questionBankForm .competitionAnswers{grid-template-columns:1fr;gap:10px}.questionBankForm .competitionAnswers>.field,.questionBankForm .competitionAnswers>.field:first-child{min-height:96px;padding:13px}}

/* Module-scoped administration forms and lists */
.competitionsForm{max-width:1160px;margin:0 auto;border:1px solid #d9e6f5;box-shadow:0 14px 34px #15365b0c}.competitionsForm>form{padding:26px}.competitionsForm .competitionSettings{margin-top:0;padding:24px;border:1px solid #d9e7f6;border-radius:18px;background:linear-gradient(145deg,#f7fbff,#fff 78%)}.competitionsForm .competitionSettings>h3{font-size:19px;margin-bottom:18px}.competitionsForm .competitionSettings .formgrid{gap:18px 22px}.competitionsForm .competitionSettings .field{min-width:0}.competitionShuffleOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0;padding:16px;border:1px solid #d9e8f8;border-radius:14px;background:#edf6ff}.competitionShuffleOptions label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dce8f4;border-radius:11px;background:#fff;color:#1d3b5d;font-weight:700;cursor:pointer}.competitionShuffleOptions input{width:18px;height:18px;accent-color:#0878f9}.competitionTopicPercentages{margin:18px 0;padding:18px;border:1px solid #dce8f5;border-radius:15px;background:#fff}.competitionTopicPercentages header h4{margin:0 0 5px;color:#173b63;font-size:15px}.competitionTopicPercentages header p{margin:0 0 14px;color:#72839a;font-size:12px;line-height:1.55}.competitionTopicGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.competitionTopicRow{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:11px 13px;border:1px solid #e2eaf3;border-radius:11px;background:#f9fbfe}.competitionTopicRow>span:first-child{display:grid;gap:4px;min-width:0}.competitionTopicRow b{overflow:hidden;text-overflow:ellipsis;color:#244462;font-size:12px}.competitionTopicRow small{color:#75869a;font-size:11px}.competitionPercentInput{display:flex;align-items:center;gap:6px;flex:none}.competitionPercentInput input{width:76px;min-height:38px;padding:8px 9px;border:1px solid #cfdeef;border-radius:9px;background:#fff;text-align:right}.competitionPercentInput em{color:#64788e;font-style:normal;font-weight:700}.competitionTopicEmpty{padding:14px;border-radius:10px;background:#f6f9fc;color:#71839a}.competitionBankFilters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1fr);gap:14px;margin:18px 0 12px}.competitionBankQuestion{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:13px 15px;border:1px solid #e0e9f3;border-radius:12px;background:#fff;cursor:pointer}.competitionBankQuestion>input{width:18px;height:18px;margin:2px 0;accent-color:#0878f9}.competitionBankQuestion>span{display:grid;gap:5px;min-width:0}.competitionBankQuestion b{color:#193a5c;font-size:12px;line-height:1.5}.competitionBankQuestion small{color:#74859a;font-size:11px}.competitionBankQuestion:hover{border-color:#9fc8f4;background:#f8fbff}.competitionsForm .formbuttons{display:flex;gap:10px;padding:20px 26px;border-top:1px solid #e8eef5;background:#fbfdff}.competitionsForm .formbuttons .button{min-height:42px;min-width:120px}
.hotelsForm,.restaurantsForm{max-width:1120px;margin:0 auto;border:1px solid #dce8f5;box-shadow:0 12px 32px #1738580b}.hotelsForm>form,.restaurantsForm>form{padding:26px}.hotelsForm .locationField,.restaurantsForm .locationField{max-width:680px;margin-bottom:22px}.hotelsForm .formgrid,.restaurantsForm .formgrid{align-items:start;gap:18px 22px}.hotelsForm .placeSettings,.restaurantsForm .placeSettings{margin-top:24px;padding:24px;border:1px solid #dbe8f6;border-radius:18px;background:linear-gradient(145deg,#f7fbff,#fff)}.hotelsForm .placeSettings>h3,.restaurantsForm .placeSettings>h3{margin:0 0 8px;color:#173b63;font-size:18px}.hotelsForm .placeSettings>p,.restaurantsForm .placeSettings>p{color:#70839a;font-size:12px;line-height:1.55}.hotelsForm .placeLongDetailField,.restaurantsForm .placeLongDetailField{margin:18px 0;padding:16px;border:1px solid #e2eaf4;border-radius:13px;background:#fff}.hotelsForm .placeLongDetailField textarea,.restaurantsForm .placeLongDetailField textarea{min-height:160px}.hotelsForm .placeSettings input[type=file],.restaurantsForm .placeSettings input[type=file]{min-height:58px;padding:12px;border:1px dashed #a9c5e4;border-radius:12px;background:#f8fbff}.hotelsForm .placeSettings .formgrid,.restaurantsForm .placeSettings .formgrid{padding:16px;border-radius:13px;background:#f7faff}.hotelsForm .placeImagePreview,.restaurantsForm .placeImagePreview{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,120px));gap:12px;margin:14px 0}.hotelsForm .placeImagePreview label,.restaurantsForm .placeImagePreview label{display:grid;gap:7px;justify-items:start}.hotelsForm .placeImagePreview img,.restaurantsForm .placeImagePreview img,.hotelsForm .placeImagePreview .placeImageTile img,.restaurantsForm .placeImagePreview .placeImageTile img{display:block;width:112px;height:112px;object-fit:cover;border:1px solid #dce7f2;border-radius:12px;background:#f2f6fa}.hotelsForm .placeSettings .field small,.restaurantsForm .placeSettings .field small{display:block;margin-top:6px;color:#73859a;font-size:11px;line-height:1.5}
.moduleList-competitions .tablewrap,.moduleList-hotels .tablewrap,.moduleList-restaurants .tablewrap{overflow-x:auto}.moduleList-competitions table{min-width:1040px;table-layout:fixed}.moduleList-competitions th:last-child,.moduleList-competitions td:last-child{width:250px}.moduleList-competitions td.actions{white-space:normal}.moduleList-competitions td.actions>a,.moduleList-competitions td.actions button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin:2px;padding:7px 10px;white-space:nowrap}.moduleList-hotels table,.moduleList-restaurants table{min-width:920px;table-layout:fixed}.moduleList-hotels td:nth-child(4),.moduleList-restaurants td:nth-child(4){max-width:260px}.moduleList-hotels td:nth-child(4),.moduleList-restaurants td:nth-child(4){overflow-wrap:anywhere;line-height:1.55}.moduleList-hotels td.actions,.moduleList-restaurants td.actions{white-space:nowrap}.moduleList-hotels .adminThumbs img,.moduleList-restaurants .adminThumbs img{width:54px;height:44px;object-fit:cover;border-radius:7px}
@media(max-width:760px){.competitionsForm>form,.hotelsForm>form,.restaurantsForm>form{padding:15px}.competitionsForm .competitionSettings,.hotelsForm .placeSettings,.restaurantsForm .placeSettings{padding:15px}.competitionShuffleOptions,.competitionTopicGrid,.competitionBankFilters{grid-template-columns:1fr}.competitionTopicRow{padding:10px}.competitionsForm .formbuttons{padding:14px;flex-wrap:wrap}.hotelsForm .formgrid,.restaurantsForm .formgrid{grid-template-columns:1fr}.hotelsForm .locationField,.restaurantsForm .locationField{max-width:none}}
.moduleList-product_categories .listPlaceholder{color:#9aa8b7;font-style:italic}

.competitionsForm .pagehead{align-items:center}.competitionsForm>form>.locationField{max-width:620px;margin:0 0 18px}.competitionCoverSettings{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);align-items:center;gap:18px;margin:0 0 22px;padding:20px;border:1px solid #d9e7f6;border-radius:16px;background:linear-gradient(135deg,#f2f8ff,#fff)}.competitionCoverSettings h3{margin:0 0 6px;color:#173b63;font-size:16px}.competitionCoverSettings p{margin:0;color:#72839a;font-size:12px;line-height:1.55}.competitionCoverSettings .field{grid-column:1;grid-row:2;margin:0}.competitionCoverPreview{grid-column:2;grid-row:1/3;width:100%;max-height:190px;aspect-ratio:16/9;object-fit:cover;border:1px solid #d8e5f2;border-radius:12px;background:#eef4fa}.moduleList-competitions .tablewrap{overflow-x:auto}.moduleList-competitions table{min-width:1180px;table-layout:auto}.moduleList-competitions th:last-child,.moduleList-competitions td:last-child{width:340px}.moduleList-competitions td.actions{min-width:330px;white-space:normal;display:table-cell;vertical-align:middle}.moduleList-competitions td.actions>a,.moduleList-competitions td.actions button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;margin:3px;padding:6px 9px;white-space:nowrap}.competitionListTitle{display:flex;align-items:center;gap:10px;min-width:160px}.competitionListTitle img{width:52px;height:40px;flex:none;object-fit:cover;border:1px solid #e1e9f2;border-radius:8px}.competitionListTitle b{min-width:0}.competitionCardIcon{overflow:hidden}.competitionCardIcon img{display:block;width:100%;height:100%;object-fit:cover}.competitionDetailCover{display:block;width:100%;max-height:280px;margin:0 0 18px;aspect-ratio:16/7;object-fit:cover;border-radius:14px;background:#eef4fa}.competitionDetail .competitionCardCover{width:100%}@media(max-width:760px){.competitionCoverSettings{grid-template-columns:1fr}.competitionCoverSettings .field,.competitionCoverPreview{grid-column:1;grid-row:auto}.competitionCoverPreview{max-width:480px}.moduleList-competitions td.actions{min-width:330px}}
.competitionsForm>form>.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin:0 0 22px;padding:20px;border:1px solid #dce7f3;border-radius:18px;background:linear-gradient(145deg,#f8fbff,#fff)}.competitionsForm>form>.formgrid>.field{display:grid;align-content:start;gap:8px;min-width:0;margin:0;padding:13px 14px;border:1px solid #e3ebf4;border-radius:12px;background:#fff;color:#29445f;font-size:12px;font-weight:650;box-shadow:0 2px 7px #1c416208}.competitionsForm>form>.formgrid>.field:first-child{grid-column:1/-1}.competitionsForm>form>.formgrid>.field:nth-child(3){grid-column:1/-1}.competitionsForm>form>.formgrid>.field>span{color:#29445f;font-size:12px;font-weight:700}.competitionsForm>form>.formgrid>.field input:not([type=checkbox]),.competitionsForm>form>.formgrid>.field select,.competitionsForm>form>.formgrid>.field textarea{width:100%;min-height:44px;padding:11px 13px;border:1px solid #d7e2ee;border-radius:10px;background:#fbfdff;color:#1b3048;font:13px "Segoe UI",Arial,sans-serif;transition:border-color .16s,box-shadow .16s,background .16s}.competitionsForm>form>.formgrid>.field textarea{min-height:112px;resize:vertical;line-height:1.6}.competitionsForm>form>.formgrid>.field input:focus,.competitionsForm>form>.formgrid>.field select:focus,.competitionsForm>form>.formgrid>.field textarea:focus{outline:0;border-color:#58a1f5;background:#fff;box-shadow:0 0 0 3px #1680ed1c}.competitionsForm>form>.formgrid>.field:first-child input{font-size:15px;font-weight:600}.competitionsForm>form>.formgrid>.field small{color:#77889c;font-size:11px;font-weight:400;line-height:1.5}@media(max-width:760px){.competitionsForm>form>.formgrid{grid-template-columns:1fr;padding:14px;gap:12px}.competitionsForm>form>.formgrid>.field:first-child,.competitionsForm>form>.formgrid>.field:nth-child(3){grid-column:1}}
.moduleList .tablewrap{overflow-x:auto;scrollbar-color:#c7d7e8 #f4f7fb}.moduleList table{min-width:760px;table-layout:auto}.moduleList th,.moduleList td{vertical-align:middle;line-height:1.5}.moduleList td{overflow-wrap:anywhere}.moduleList tbody tr:nth-child(even){background:#fbfcfe}.moduleList td:empty::before{content:"—";color:#9aa8b7;font-style:italic}.moduleList:not(.moduleList-competitions) td.actions{display:table-cell;min-width:118px;white-space:nowrap;vertical-align:middle}.moduleList:not(.moduleList-competitions) td.actions>a:not(.reviewViewButton),.moduleList:not(.moduleList-competitions) td.actions>button,.moduleList:not(.moduleList-competitions) td.actions>form button{display:inline-grid;vertical-align:middle;margin:2px}.moduleList:not(.moduleList-competitions) td.actions>form{display:inline-block;vertical-align:middle}.moduleList:not(.moduleList-competitions) td.actions>.reviewViewButton{display:inline-flex;width:auto;height:auto;min-height:30px;vertical-align:middle;margin:2px;padding:6px 10px}

/* Keep action controls inside their table cell without shifting table columns. */
td.actions{display:table-cell;white-space:nowrap;vertical-align:middle}td.actions>a,td.actions>form{display:inline-flex;vertical-align:middle}td.actions>form{margin:0}td.actions .reviewViewButton{width:auto;min-width:42px;padding:0 8px;font-size:10px}

/* Hotel and restaurant entry forms: clearer sections and consistent field alignment. */
.hotelsForm,.restaurantsForm{max-width:1120px;margin:0 auto;padding:0;overflow:hidden;border:1px solid #dce7f3;border-radius:18px;background:#fff;box-shadow:0 14px 36px #1738580c}
.hotelsForm>form,.restaurantsForm>form{padding:28px}
.hotelsForm .locationField,.restaurantsForm .locationField{max-width:720px;margin:0 0 22px;padding:15px 17px;border:1px solid #dce8f5;border-radius:12px;background:#f7faff}
.hotelsForm>.pagehead,.restaurantsForm>.pagehead{margin-bottom:20px}
.hotelsForm .formgrid,.restaurantsForm .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px 22px}
.hotelsForm>form>.formgrid>.field:first-child,.restaurantsForm>form>.formgrid>.field:first-child{grid-column:1/-1}
.hotelsForm .field,.restaurantsForm .field{min-width:0;color:#38516c;font-size:12px;font-weight:650}
.hotelsForm .field input:not([type=file]),.hotelsForm .field select,.hotelsForm .field textarea,.restaurantsForm .field input:not([type=file]),.restaurantsForm .field select,.restaurantsForm .field textarea{min-height:44px;padding:11px 13px;border:1px solid #d5e1ef;border-radius:10px;background:#fff;color:#183753;font:13px "Segoe UI",Arial,sans-serif;transition:border-color .15s,box-shadow .15s,background .15s}
.hotelsForm .field textarea,.restaurantsForm .field textarea{min-height:104px;line-height:1.6;resize:vertical}
.hotelsForm .field input:focus,.hotelsForm .field select:focus,.hotelsForm .field textarea:focus,.restaurantsForm .field input:focus,.restaurantsForm .field select:focus,.restaurantsForm .field textarea:focus{border-color:#4b9cf0;outline:0;background:#fff;box-shadow:0 0 0 3px #1680ed18}
.hotelsForm .placeSettings,.restaurantsForm .placeSettings{margin-top:22px;padding:24px;border:1px solid #dbe7f4;border-radius:16px;background:linear-gradient(145deg,#f8fbff,#fff 76%)}
.hotelsForm .placeSettings>h3,.restaurantsForm .placeSettings>h3{margin:0 0 7px;color:#173b63;font-size:17px}
.hotelsForm .placeSettings>p,.restaurantsForm .placeSettings>p{margin:0 0 18px;color:#71839a;font-size:12px;line-height:1.6}
.hotelsForm .placeSettings .placeLongDetailField,.restaurantsForm .placeSettings .placeLongDetailField{margin:14px 0 22px;padding:0;border:0;background:transparent;box-shadow:none}
.hotelsForm .placeSettings .placeLongDetailField textarea,.restaurantsForm .placeSettings .placeLongDetailField textarea{min-height:160px;padding:14px;border-color:#d7e3f0;border-radius:12px;background:#fff}
.hotelsForm .placeSettings input[type=file],.restaurantsForm .placeSettings input[type=file]{min-height:52px;padding:10px 12px;border:1px dashed #9bbce0;border-radius:11px;background:#fff;color:#597089;font-size:12px}
.hotelsForm .placeSettings .formgrid,.restaurantsForm .placeSettings .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:17px;border:1px solid #e4edf7;border-radius:13px;background:#f5f9fe}
.hotelsForm .placeSettings .formgrid>.field,.restaurantsForm .placeSettings .formgrid>.field,.hotelsForm .placeSettings .formgrid>.field:first-child,.restaurantsForm .placeSettings .formgrid>.field:first-child{grid-column:auto;margin:0}
.hotelsForm .placeSettings .field small,.restaurantsForm .placeSettings .field small{display:block;margin-top:5px;color:#77899e;font-size:11px;font-weight:400;line-height:1.5}
.hotelsForm .placeImagePreview,.restaurantsForm .placeImagePreview{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,112px));gap:12px;margin:14px 0 20px}
.hotelsForm .placeImagePreview label,.hotelsForm .placeImageTile,.restaurantsForm .placeImagePreview label,.restaurantsForm .placeImageTile{position:relative;display:block;aspect-ratio:1;min-width:0;overflow:hidden;border:1px solid #d8e4f1;border-radius:12px;background:#eef4fa}
.hotelsForm .placeImagePreview img,.hotelsForm .placeImageTile img,.restaurantsForm .placeImagePreview img,.restaurantsForm .placeImageTile img{display:block;width:100%;height:100%;object-fit:cover}
.hotelsForm .placeImagePreview label input[type=checkbox],.restaurantsForm .placeImagePreview label input[type=checkbox]{position:absolute;left:8px;bottom:8px;width:20px;height:20px;margin:0;padding:0;border:2px solid #fff;border-radius:6px;background:#fff;accent-color:#1677e8;box-shadow:0 1px 5px #102a4350}
.hotelsForm .placeImagePreview label:has(input:checked),.restaurantsForm .placeImagePreview label:has(input:checked){border-color:#b6cce3}
.hotelsForm .placeSettings>.locationCoordinateActions,.restaurantsForm .placeSettings>.locationCoordinateActions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 0;color:#71839a;font-size:12px;line-height:1.5}
.hotelsForm .placeSettings>.locationCoordinateActions .button,.restaurantsForm .placeSettings>.locationCoordinateActions .button{min-height:42px;border-radius:10px}
.hotelsForm .formbuttons,.restaurantsForm .formbuttons{display:flex;gap:10px;margin:0;padding:18px 28px;border-top:1px solid #e8eef5;background:#fbfdff}
.hotelsForm .formbuttons .button,.restaurantsForm .formbuttons .button{min-width:112px;min-height:42px}
@media(max-width:760px){.hotelsForm>form,.restaurantsForm>form{padding:16px}.hotelsForm .locationField,.restaurantsForm .locationField{max-width:none}.hotelsForm .formgrid,.restaurantsForm .formgrid,.hotelsForm .placeSettings .formgrid,.restaurantsForm .placeSettings .formgrid{grid-template-columns:1fr}.hotelsForm>form>.formgrid>.field:first-child,.restaurantsForm>form>.formgrid>.field:first-child{grid-column:auto}.hotelsForm .placeSettings,.restaurantsForm .placeSettings{padding:16px}.hotelsForm .formbuttons,.restaurantsForm .formbuttons{padding:14px 16px;position:sticky;bottom:0;z-index:2}}
/* Clearer hotel and restaurant form hierarchy, without changing shared admin forms. */
.hotelsForm>form>.formgrid,.restaurantsForm>form>.formgrid{gap:20px 24px;padding:22px;border:1px solid #e2eaf4;border-radius:16px;background:linear-gradient(145deg,#f8fbff,#fff)}
.hotelsForm>form>.formgrid>.field,.restaurantsForm>form>.formgrid>.field{display:grid;align-content:start;gap:8px;padding:14px;border:1px solid #e8eef5;border-radius:12px;background:#fff;box-shadow:0 3px 12px #17385808}
.hotelsForm>form>.formgrid>.field:first-child,.restaurantsForm>form>.formgrid>.field:first-child{grid-column:1/-1}
.hotelsForm .placeSettingsIntro,.restaurantsForm .placeSettingsIntro{display:flex;align-items:center;gap:14px;margin:0 0 20px;padding:16px 18px;border:1px solid #dbe9f7;border-radius:14px;background:linear-gradient(110deg,#edf6ff,#fff)}
.hotelsForm .placeSettingsIcon,.restaurantsForm .placeSettingsIcon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:13px;background:#e0efff;color:#1677e8;font-size:23px;font-weight:700}
.hotelsForm .placeSettingsIntro h3,.restaurantsForm .placeSettingsIntro h3{margin:0 0 4px}
.hotelsForm .placeSettingsIntro p,.restaurantsForm .placeSettingsIntro p{margin:0;color:#71839a;font-size:12px;line-height:1.55}
.hotelsForm .placeLongDetailField>small,.restaurantsForm .placeLongDetailField>small{color:#71839a;font-size:11px;font-weight:400}
.hotelsForm .optionalTag,.restaurantsForm .optionalTag{display:inline-flex;margin-left:6px;padding:3px 7px;border-radius:20px;background:#eff5fc;color:#687f98;font-size:10px;font-weight:600;vertical-align:middle}
.hotelsForm .placeMediaCard,.restaurantsForm .placeMediaCard{margin:18px 0;padding:18px;border:1px solid #e0eaf4;border-radius:14px;background:#fff}
.hotelsForm .placeMediaCard>.field,.restaurantsForm .placeMediaCard>.field{display:grid;gap:9px;margin:0}
.hotelsForm .placeContactLocation,.restaurantsForm .placeContactLocation{margin-top:18px;padding:18px;border:1px solid #e0eaf4;border-radius:14px;background:#fff}
.hotelsForm .placeContactLocation h4,.restaurantsForm .placeContactLocation h4{margin:0 0 5px;color:#173b63;font-size:14px}
.hotelsForm .placeContactLocation>p,.restaurantsForm .placeContactLocation>p{margin:0 0 14px;color:#71839a;font-size:11px;line-height:1.5}
.hotelsForm .placeContactLocation .formgrid,.restaurantsForm .placeContactLocation .formgrid{padding:0;border:0;background:transparent}
.hotelsForm .placeContactLocation .field,.restaurantsForm .placeContactLocation .field{padding:0;border:0;background:transparent;box-shadow:none}
.hotelsForm .placeImagePreview,.restaurantsForm .placeImagePreview{grid-template-columns:repeat(auto-fill,minmax(110px,128px));gap:12px}
@media(max-width:760px){.hotelsForm>form>.formgrid,.restaurantsForm>form>.formgrid{padding:14px}.hotelsForm .placeSettingsIntro,.restaurantsForm .placeSettingsIntro{align-items:flex-start;padding:13px}.hotelsForm .placeContactLocation,.restaurantsForm .placeContactLocation,.hotelsForm .placeMediaCard,.restaurantsForm .placeMediaCard{padding:14px}}

.hotelsForm .placeSpecificFields,.restaurantsForm .placeSpecificFields{margin:18px 0;padding:18px;border:1px solid #dce8f5;border-radius:14px;background:linear-gradient(140deg,#f5f9ff,#fff)}
.hotelsForm .placeSpecificFields>header,.restaurantsForm .placeSpecificFields>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.hotelsForm .placeSpecificFields h4,.restaurantsForm .placeSpecificFields h4{margin:0 0 4px;color:#173b63;font-size:14px}
.hotelsForm .placeSpecificFields header p,.restaurantsForm .placeSpecificFields header p{margin:0;color:#71839a;font-size:11px;line-height:1.5}
.hotelsForm .placeSpecificFields header>span,.restaurantsForm .placeSpecificFields header>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e6f1ff;font-size:20px}
.hotelsForm .placeSpecificFields .formgrid,.restaurantsForm .placeSpecificFields .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:0;border:0;background:transparent}
.hotelsForm .placeSpecificFields .field,.restaurantsForm .placeSpecificFields .field{display:grid;gap:7px;min-width:0;margin:0;padding:12px;border:1px solid #e3ebf5;border-radius:11px;background:#fff}
.hotelsForm .placeSpecificFields .field input,.restaurantsForm .placeSpecificFields .field input{width:100%;min-width:0}
.hotelsForm .placeSpecificFields .field small,.restaurantsForm .placeSpecificFields .field small{color:#73859a;font-size:10px}
@media(max-width:760px){.hotelsForm .placeSpecificFields,.restaurantsForm .placeSpecificFields{padding:14px}.hotelsForm .placeSpecificFields .formgrid,.restaurantsForm .placeSpecificFields .formgrid{grid-template-columns:1fr}}

/* Hotel entry: square image selection, amenity chips and clearer location controls. */
.hotelsForm .placeImageField,.restaurantsForm .placeImageField{display:grid;gap:10px;margin:0}
.hotelsForm .placeImagePicker,.restaurantsForm .placeImagePicker{position:relative;display:flex;align-items:center;justify-content:center;min-height:112px;border:1.5px dashed #8db8e6;border-radius:14px;background:linear-gradient(135deg,#f3f8ff,#fff);color:#176fc9;font-size:13px;font-weight:700;cursor:pointer;transition:.18s ease}
.hotelsForm .placeImagePicker:hover,.restaurantsForm .placeImagePicker:hover{border-color:#1680ed;background:#edf6ff}
.hotelsForm .placeImagePicker input[type=file],.restaurantsForm .placeImagePicker input[type=file]{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;opacity:0;cursor:pointer}
.hotelsForm .placeImageField>small,.restaurantsForm .placeImageField>small,.placeImageRemoveHint{color:#71839a;font-size:11px;line-height:1.55}
.hotelsForm .placeImagePreview,.restaurantsForm .placeImagePreview{grid-template-columns:repeat(auto-fill,minmax(96px,112px));gap:11px}
.hotelsForm .placeImagePreview label,.hotelsForm .placeImageTile,.restaurantsForm .placeImagePreview label,.restaurantsForm .placeImageTile{aspect-ratio:1;border-radius:12px}
.hotelsForm .placeContactLocation .amenityField,.restaurantsForm .placeContactLocation .amenityField{display:grid;gap:8px;grid-column:1/-1}
.amenityTagManager{display:grid;gap:9px;min-width:0}
.amenityTags{display:flex;flex-wrap:wrap;gap:7px;min-height:0}
.amenityChip{display:inline-flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid #cfe2f7;border-radius:999px;background:#edf6ff;color:#24547f;font-size:11px}
.amenityChip button{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:#dcecff;color:#315d87;font-size:14px;line-height:1;cursor:pointer}
.amenitySuggestions{display:flex;flex-wrap:wrap;gap:6px}
.amenitySuggestions button{padding:5px 9px;border:1px solid #dce7f2;border-radius:999px;background:#fff;color:#597089;font-size:10px;cursor:pointer}
.amenitySuggestions button:hover{border-color:#8bb9e8;background:#f1f7ff;color:#176fc9}
.amenityAddRow{display:flex;gap:8px;min-width:0}
.amenityAddRow input{flex:1;min-width:0}
.amenityAddRow .button{flex:none;min-height:40px;padding:0 12px}
.hotelsForm .locationCoordinateActions,.restaurantsForm .locationCoordinateActions{padding-top:12px;border-top:1px solid #e7eef6}
.hotelsForm [data-place-current-location]:disabled,.restaurantsForm [data-place-current-location]:disabled{opacity:.65;cursor:wait}

/* Make the travel-place details read as one full-width, ordered section. */
.hotelsForm>form>.formgrid>.placeSettings,.restaurantsForm>form>.formgrid>.placeSettings{grid-column:1/-1;display:grid;gap:18px;min-width:0;margin:2px 0 0;padding:22px;border:1px solid #d8e5f3;border-radius:18px;background:linear-gradient(145deg,#f5f9ff 0%,#fff 52%,#f8fbff 100%);box-shadow:0 8px 24px #18385808}
.hotelsForm .placeSettings .placeLongDetailField,.restaurantsForm .placeSettings .placeLongDetailField{margin:0;padding:18px;border-color:#dce7f3;border-radius:14px;background:#fff;box-shadow:0 3px 12px #17385808}
.hotelsForm .placeLongDetailField textarea,.restaurantsForm .placeLongDetailField textarea{width:100%;min-height:132px;resize:vertical;line-height:1.6}
.hotelsForm .placeSettings .placeSpecificFields,.restaurantsForm .placeSettings .placeSpecificFields{margin:0;padding:18px;border-color:#d7e6f6;border-radius:14px;background:linear-gradient(130deg,#eef6ff,#fff 80%)}
.hotelsForm .placeSpecificFields .formgrid,.restaurantsForm .placeSpecificFields .formgrid{padding:0;background:transparent}
.hotelsForm .placeSettings .placeMediaCard,.restaurantsForm .placeSettings .placeMediaCard,.hotelsForm .placeSettings .placeContactLocation,.restaurantsForm .placeSettings .placeContactLocation{margin:0;padding:18px;border-color:#dce7f3;border-radius:14px;background:#fff;box-shadow:0 3px 12px #17385808}
.hotelsForm .placeSettings .placeMediaCard>.field>span,.restaurantsForm .placeSettings .placeMediaCard>.field>span{display:flex;align-items:center;gap:7px;color:#173b63;font-weight:700}
.hotelsForm .placeSettings .placeContactLocation .formgrid,.restaurantsForm .placeSettings .placeContactLocation .formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px 20px}
.hotelsForm .placeSettings .placeContactLocation .amenityField,.restaurantsForm .placeSettings .placeContactLocation .amenityField{grid-column:1/-1;padding-top:4px}
.hotelsForm .placeSettings .locationCoordinateActions,.restaurantsForm .placeSettings .locationCoordinateActions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:16px}
.hotelsForm .placeSettings .locationCoordinateActions>span,.restaurantsForm .placeSettings .locationCoordinateActions>span{flex:1;min-width:220px;color:#687f98;font-size:12px;line-height:1.5}
@media(max-width:760px){.hotelsForm>form>.formgrid>.placeSettings,.restaurantsForm>form>.formgrid>.placeSettings{gap:13px;padding:13px;border-radius:14px}.hotelsForm .placeSettings .placeLongDetailField,.restaurantsForm .placeSettings .placeLongDetailField,.hotelsForm .placeSettings .placeSpecificFields,.restaurantsForm .placeSettings .placeSpecificFields,.hotelsForm .placeSettings .placeMediaCard,.restaurantsForm .placeSettings .placeMediaCard,.hotelsForm .placeSettings .placeContactLocation,.restaurantsForm .placeSettings .placeContactLocation{padding:14px}.hotelsForm .placeSettings .placeContactLocation .formgrid,.restaurantsForm .placeSettings .placeContactLocation .formgrid{grid-template-columns:1fr}.hotelsForm .placeSettings .placeContactLocation .amenityField,.restaurantsForm .placeSettings .placeContactLocation .amenityField{grid-column:auto}}
.hotelsForm>form>.formgrid>.field:first-of-type,.restaurantsForm>form>.formgrid>.field:first-of-type{grid-column:1}
.hotelsForm>form>.formgrid>.field:nth-of-type(2),.restaurantsForm>form>.formgrid>.field:nth-of-type(2){grid-column:2}
.hotelsForm>form>.formgrid>.field:nth-of-type(3),.restaurantsForm>form>.formgrid>.field:nth-of-type(3){grid-column:1}
.hotelsForm>form>.formgrid>.field:nth-of-type(4),.restaurantsForm>form>.formgrid>.field:nth-of-type(4){grid-column:2}
@media(max-width:760px){.hotelsForm>form>.formgrid>.field:first-of-type,.restaurantsForm>form>.formgrid>.field:first-of-type,.hotelsForm>form>.formgrid>.field:nth-of-type(2),.restaurantsForm>form>.formgrid>.field:nth-of-type(2){grid-column:1}}

.competitionTermsField{grid-column:1/-1;margin:8px 0 20px;padding:18px 20px;border:1px solid #dce8f5;border-radius:14px;background:linear-gradient(145deg,#f6faff,#fff)}.competitionTermsField textarea{min-height:120px;line-height:1.65}.competitionTermsField small{display:block;margin-top:7px;color:#71839a;font-size:11px}.competitionTermsText{margin:18px 0;padding:18px 20px;border:1px solid #dce8f5;border-left:4px solid #1680ed;border-radius:14px;background:#fff;color:#344d68;line-height:1.75}.competitionTermsText h3{margin:0 0 8px;color:#173b63;font-size:16px}.competitionTermsText div{white-space:normal;overflow-wrap:anywhere}
.competitionTopicPercentages>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.competitionTopicTotal{flex:0 0 auto;padding:7px 12px;border-radius:999px;background:#edf5ff;color:#176ac2;font-size:13px}.competitionTopicChoice{display:flex;align-items:center;gap:10px;min-width:0}.competitionTopicChoice input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;accent-color:#0878f9}.competitionTopicChoice>span{display:grid;gap:4px}.competitionTopicRow.isSelected{border-color:#77b2f4;background:#f0f7ff}.competitionPercentInput input:disabled{background:#f0f3f7;color:#9aa8b8}.competitionTopicTotalHint{display:block;margin-top:10px;color:#74859a}.competitionTopicTotalHint.isValid{color:#07804a}.competitionTopicTotalHint.isInvalid{color:#b45309}@media(max-width:640px){.competitionTopicPercentages>header{flex-direction:column}.competitionTopicTotal{align-self:flex-start}}
.competitionNewsCover{display:block;width:100%;max-height:240px;object-fit:cover;border-radius:12px;margin:10px 0 12px}

.competitionAttemptDetail>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid #e4edf7}.competitionAttemptDetail>header h2{margin:0 0 5px}.competitionAttemptDetail>header p{margin:0;color:#72849a}.competitionAttemptDetail>header>strong{padding:10px 14px;border-radius:12px;background:#eaf4ff;color:#096ac8;font-size:18px}.competitionAttemptMeta{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px;border-bottom:1px solid #e4edf7}.competitionAttemptMeta span{padding:8px 10px;border-radius:9px;background:#f4f8fd;color:#47627d;font-size:12px}.competitionAttemptAnswers{display:grid;gap:12px;padding:18px}.competitionAttemptAnswer{padding:15px;border:1px solid #e0eaf5;border-radius:13px;background:#fbfdff}.competitionAttemptAnswer h3{margin:0 0 12px;color:#173b63;font-size:14px;line-height:1.5}.competitionAttemptAnswer ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.competitionAttemptAnswer li{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid #e1eaf4;border-radius:10px;background:white;color:#405975}.competitionAttemptAnswer li>span{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:7px;background:#edf3f9;font-weight:800}.competitionAttemptAnswer li>b{margin-left:auto;color:#15804d;font-size:11px}.competitionAttemptAnswer li.isCorrect{border-color:#a9e2c5;background:#f0fff6}.competitionAttemptAnswer li.isCorrect>span{background:#d9f7e6;color:#147343}.competitionAttemptAnswer li.isSelected:not(.isCorrect){border-color:#f2b5b5;background:#fff5f5}.competitionAttemptAnswer li.isSelected:not(.isCorrect)>b{color:#bd3f3f}.competitionAttemptAnswer>small{display:block;margin-top:10px;color:#697d93}.competitionAttemptAnswer>small.isRight{color:#147343}.competitionAttemptAnswer>small.isWrong{color:#bd3f3f}
.competitionShuffleOptions{grid-template-columns:repeat(2,minmax(0,1fr))}
.competitionShuffleOptions label{min-height:48px;line-height:1.4}
@media(max-width:700px){.competitionShuffleOptions{grid-template-columns:1fr}}
/* Question bank search and import controls */
.competitionQuestionToolbar{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(190px,.8fr) auto;align-items:center;gap:10px;margin:14px 0 16px;padding:12px;border:1px solid #dce8f5;border-radius:14px;background:linear-gradient(135deg,#fff,#f6faff);box-shadow:0 5px 16px #183b5b0a}
.competitionQuestionToolbar input,.competitionQuestionToolbar select{box-sizing:border-box;width:100%;max-width:none;height:42px;border:1px solid #d5e2f0;border-radius:10px;background:#fff;color:#213e5d;padding:0 13px;font:12px "Segoe UI",Arial,sans-serif;outline:0}
.competitionQuestionToolbar input:focus,.competitionQuestionToolbar select:focus{border-color:#6eaff5;box-shadow:0 0 0 3px #e8f3ff}
.competitionQuestionToolbar .button{height:42px;min-width:100px;border-radius:10px;background:#0878f9;border-color:#0878f9;color:#fff;font-weight:750;box-shadow:0 4px 10px #0878f926}
.questionImportPanel form .field select{min-height:42px;border-color:#d5e2f0;border-radius:10px;background-color:#fbfdff}
.questionImportPanel form .field small{color:#74869b;line-height:1.5}
@media(max-width:700px){.competitionQuestionToolbar{grid-template-columns:1fr;padding:10px}.competitionQuestionToolbar .button{width:100%}}

/* Competition audience and unit management */
.audienceCreatePanel,.audienceGroupCard{padding:22px;margin-bottom:18px;border:1px solid #dbe7f6;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(26,74,128,.05)}
.audienceCreatePanel>header,.audienceUnits>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.audienceCreatePanel h2,.audienceUnits h3{margin:0;color:#123d70;font-size:17px}
.audienceCreatePanel p{margin:5px 0 0;color:#6b7f99;font-size:13px}
.audienceCreateForm,.audienceAddUnit{display:flex;align-items:flex-end;gap:12px}
.audienceCreateForm .field,.audienceAddUnit .field,.audienceGroupRename .field{flex:1;margin:0}
.audienceGroupHeader{display:flex;align-items:flex-end;gap:10px}
.audienceOrder{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:#eaf3ff;color:#0878f9;font-weight:700}
.audienceGroupRename{display:flex;align-items:flex-end;flex:1;gap:10px}
.audienceOrderActions{display:flex;gap:6px}
.audienceOrderActions form{margin:0}
.audienceOrderActions .button{min-width:38px;padding:9px 11px}
.audienceOrderActions .button:disabled{opacity:.4;cursor:not-allowed}
.audienceDeleteButton{color:#c43b45;border-color:#f0cdd0;background:#fff8f8}
.audienceUnits{margin-top:20px;padding:18px;border-radius:15px;background:#f6f9fe;border:1px solid #e4edf9}
.audienceUnits>header{margin-bottom:12px}
.audienceUnits small{color:#7185a0}
.audienceUnitList{display:grid;gap:8px;margin-bottom:14px}
.audienceUnitRow{display:flex;align-items:center;gap:9px;padding:9px 10px;background:#fff;border:1px solid #e2ebf7;border-radius:12px}
.audienceUnitOrder{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:9px;background:#f0f5fc;color:#587394;font-size:12px;font-weight:700}
.audienceUnitRename{display:flex;flex:1;gap:8px}
.audienceUnitRename input{flex:1;min-width:0;padding:9px 11px;border:1px solid #d6e2f2;border-radius:9px;color:#173b64}
.audienceEmpty{margin:8px 0 14px;color:#7185a0;font-size:13px}
.audienceEmptyState{padding:24px;border:1px dashed #bfd3ee;border-radius:16px;color:#7185a0;text-align:center}
@media(max-width:700px){.audienceCreatePanel,.audienceGroupCard{padding:15px}.audienceCreateForm,.audienceGroupHeader,.audienceGroupRename,.audienceAddUnit{align-items:stretch;flex-direction:column}.audienceOrder{align-self:flex-start}.audienceGroupHeader>.audienceOrderActions{align-self:flex-end}.audienceUnitRow{flex-wrap:wrap}.audienceUnitRename{min-width:calc(100% - 44px)}.audienceUnitRow>.audienceOrderActions{margin-left:36px}}
.participantRowActions{display:flex;align-items:center;gap:6px;white-space:nowrap}.participantRowActions form{margin:0}.participantRowActions .button{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:5px 9px;font-size:11px;text-decoration:none}.participantRowActions .participantDeleteButton{border-color:#f3c3c6;background:#fff5f5;color:#b4232e}.participantDetailPanel h2{margin:0 0 14px;font-size:18px}.participantDetailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.participantDetailGrid>div{display:grid;gap:5px;padding:11px;border:1px solid #e5ebf2;border-radius:10px;background:#f8fafd;min-width:0}.participantDetailGrid small{color:#738399;font-size:10px}.participantDetailGrid b{font-size:12px;overflow-wrap:anywhere}
.competitionStatsGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.competitionHistoryFilter{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:0 0 14px;padding:14px;border:1px solid #e0e8f2;border-radius:12px;background:#fff}.competitionHistoryFilter label{display:grid;flex:1 1 180px;gap:5px;color:#586b81;font-size:11px;font-weight:650}.competitionHistoryFilter input{min-height:38px;padding:8px 10px;border:1px solid #dce5ef;border-radius:8px;font:inherit;font-size:12px}.competitionHistoryFilter .button{min-height:38px}.tableSubline{display:block;margin-top:4px;color:#71839a;font-size:11px}.participantAudienceEdit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid #e8edf4}.participantAudienceEdit h3{grid-column:1/-1;margin:0;font-size:15px}.participantAudienceEdit label{display:grid;gap:6px;color:#586b81;font-size:12px;font-weight:650}.participantAudienceEdit select{min-height:40px;padding:8px 10px;border:1px solid #dce5ef;border-radius:8px;background:#fff;font:inherit}.participantAudienceEdit button{justify-self:start}.participantEditButton{border-color:#c7ddfa!important;background:#f3f8ff!important;color:#1268d8!important}@media(max-width:700px){.competitionStatsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.participantAudienceEdit{grid-template-columns:1fr}}
.competitionPredictionStats>p{margin:6px 0 12px;color:#60738a;font-size:13px}.competitionPredictionStats>div{display:inline-grid;gap:6px;min-width:170px;margin:4px 8px 4px 0;padding:12px;border:1px solid #e2eaf4;border-radius:10px;background:#f8fafd}.competitionPredictionStats>div span{color:#71839a;font-size:11px}.competitionPredictionStats>div b{color:#173b63;font-size:16px}

/* Competition statistics dashboard */
.competitionStatsPage{--stats-ink:#173b63;--stats-muted:#71839a;--stats-line:#dce8f5;max-width:1500px;margin:0 auto;padding-bottom:20px}
.competitionStatsPage>.pagehead{align-items:center;margin:0 0 18px;padding:8px 0 16px;border-bottom:1px solid #e3ebf5}
.competitionStatsPage>.pagehead h1{margin:0;color:#12345a;font-size:26px;letter-spacing:-.035em}
.competitionStatsPage>.pagehead p{margin:6px 0 0;color:var(--stats-muted);font-size:13px;font-weight:600}
.competitionStatsPage>.pagehead>.button{border-color:#d4e2f2;background:#fff;box-shadow:0 3px 10px #153d6510}
.competitionStatsPage .competitionAdminTabs{gap:9px;margin:0 0 18px}
.competitionStatsPage .competitionAdminTabs a{padding:10px 15px;border-color:#d9e5f2;border-radius:10px;color:#405b78;transition:background .18s,border-color .18s,color .18s,transform .18s}
.competitionStatsPage .competitionAdminTabs a:hover{transform:translateY(-1px);border-color:#9fc6f7;background:#f4f8ff;color:#0868d7}
.competitionStatsPage .competitionAdminTabs a:last-child{border-color:#1676e8;background:#1676e8;color:#fff;box-shadow:0 5px 12px #1676e82b}
.competitionStatsPage .competitionStatsGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.competitionStatsPage .competitionStatsGrid article{position:relative;min-height:104px;align-content:space-between;gap:16px;overflow:hidden;padding:18px 20px;border-color:#dce8f5;border-radius:15px;background:linear-gradient(145deg,#fff 0%,#f7faff 100%);box-shadow:0 5px 16px #24466b0a;transition:transform .18s,box-shadow .18s}
.competitionStatsPage .competitionStatsGrid article:before{position:absolute;inset:0 auto 0 0;width:4px;background:#2181ef;content:""}
.competitionStatsPage .competitionStatsGrid article:nth-child(2):before{background:#08a884}.competitionStatsPage .competitionStatsGrid article:nth-child(3):before{background:#8a63e8}.competitionStatsPage .competitionStatsGrid article:nth-child(4):before{background:#f39a28}.competitionStatsPage .competitionStatsGrid article:nth-child(5):before{background:#e85469}.competitionStatsPage .competitionStatsGrid article:nth-child(6):before{background:#14a8b5}
.competitionStatsPage .competitionStatsGrid article:hover{transform:translateY(-2px);box-shadow:0 10px 24px #24466b14}
.competitionStatsPage .competitionStatsGrid small{color:#667b94;font-size:12px;font-weight:650}
.competitionStatsPage .competitionStatsGrid b{color:#143d69;font-size:27px;letter-spacing:-.035em;line-height:1.1}
.competitionStatsPage>.panel{margin:0 0 16px;border-color:#dce6f1;border-radius:15px;box-shadow:0 6px 20px #24466b0b}
.competitionStatsPage>.panel h2{margin:0;padding:18px 21px;border-bottom:1px solid #e8eef5;color:#173b63;font-size:17px;letter-spacing:-.015em}
.competitionStatsPage>.panel .tablewrap{overflow-x:auto}
.competitionStatsPage>.panel table{min-width:680px}
.competitionStatsPage>.panel th{padding:12px 15px;background:#f5f8fc;color:#6a7f97;font-size:10px;letter-spacing:.055em}
.competitionStatsPage>.panel td{padding:13px 15px;color:#334d68;font-size:12px;line-height:1.45}
.competitionStatsPage>.panel tbody tr:nth-child(even){background:#fbfdff}
.competitionStatsPage>.panel tbody tr:hover{background:#f2f7ff}
.competitionStatsPage>.panel td b{color:#173b63}
.competitionStatsPage>.panel td a,.competitionStatsPage .tablefoot a{color:#096bd8;font-weight:700;text-decoration:none}
.competitionStatsPage>.panel td a:hover,.competitionStatsPage .tablefoot a:hover{text-decoration:underline}
.competitionStatsPage>.panel td.empty{padding:30px 16px;color:#8999ab;text-align:center}
.competitionStatsPage .tableSubline{font-size:10px}
.competitionStatsPage .tablefoot{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #edf1f6;color:#78899d;font-size:11px}
.competitionStatsPage .competitionPredictionStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:16px}
.competitionStatsPage .competitionPredictionStats h2,.competitionStatsPage .competitionPredictionStats>p{grid-column:1/-1}
.competitionStatsPage .competitionPredictionStats>p{margin:14px 18px 0;color:#536b84;font-size:13px}
.competitionStatsPage .competitionPredictionStats>div{display:grid;gap:6px;margin:0 16px;padding:13px;border:1px solid #e4edf7;border-radius:11px;background:#f7faff}
.competitionStatsPage .competitionPredictionStats>div span{color:#71839a;font-size:11px}.competitionStatsPage .competitionPredictionStats>div b{color:#173b63;font-size:18px}
@media(max-width:900px){.competitionStatsPage .competitionStatsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.competitionStatsPage>.pagehead{align-items:flex-start;gap:12px}.competitionStatsPage>.pagehead h1{font-size:22px}.competitionStatsPage>.pagehead>.button{white-space:nowrap}.competitionStatsPage .competitionAdminTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.competitionStatsPage .competitionAdminTabs a{text-align:center}.competitionStatsPage .competitionStatsGrid{gap:9px}.competitionStatsPage .competitionStatsGrid article{min-height:92px;padding:14px}.competitionStatsPage .competitionStatsGrid b{font-size:23px}.competitionStatsPage .competitionPredictionStats{grid-template-columns:1fr}.competitionStatsPage .competitionPredictionStats h2,.competitionStatsPage .competitionPredictionStats>p{grid-column:auto}.competitionStatsPage .competitionPredictionStats>div{margin:0 12px}.competitionStatsPage>.panel h2{padding:15px;font-size:15px}}

.competitionInProgressBadge{border-color:#f6d58a!important;background:#fff6dd!important;color:#986100!important}.competitionSubmittedBadge{border-color:#b8ead9!important;background:#eafaf4!important;color:#087653!important}.competitionHistoryPending{display:inline-flex;align-items:center;gap:6px;color:#8a6a25;font-size:11px;font-weight:700}.competitionHistoryPending:before{width:7px;height:7px;border-radius:50%;background:#f1ae36;content:""}.competitionHistoryFilter~.panel .competitionInProgressBadge{white-space:nowrap}

.competitionAttemptsRemaining{border-color:#cfe2fb!important;background:#edf5ff!important;color:#145eae!important;font-weight:700}.competitionAttemptsRemaining:has(:only-child){white-space:nowrap}.competitionTimeNotice{padding:12px 14px;border:1px solid #dce8f5;border-radius:10px;background:#f7faff;color:#586e86;font-size:13px}

/* Admin dashboard */
.dashboardPage{--dash-ink:#173b63;--dash-muted:#778aa0;display:grid;gap:18px;padding-bottom:18px}
.dashboardWelcome{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;padding:24px 26px;border:1px solid #d9e7f6;border-radius:18px;background:radial-gradient(circle at 90% 0%,#dcecff 0,transparent 34%),linear-gradient(115deg,#fff 0%,#f5f9ff 100%);box-shadow:0 9px 25px #21456c0a}
.dashboardWelcome:after{position:absolute;right:17%;bottom:-65px;width:145px;height:145px;border:1px solid #d8e7fa;border-radius:50%;content:"";pointer-events:none}
.dashboardWelcome>div:first-child,.dashboardWelcomeActions{position:relative;z-index:1}
.dashboardEyebrow{display:block;margin-bottom:7px;color:#1676df;font-size:10px;font-weight:800;letter-spacing:.12em}
.dashboardWelcome h1{margin:0;color:#173b63;font-size:26px;letter-spacing:-.035em}
.dashboardWelcome p{margin:7px 0 0;color:#71839a;font-size:12px}
.dashboardWelcomeActions{display:flex;flex-wrap:wrap;gap:8px}
.dashboardWelcomeActions .button{min-height:39px}
.dashboardStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dashboardStatCard{position:relative;display:flex;align-items:center;gap:13px;min-width:0;min-height:111px;padding:16px;border:1px solid #e0e9f3;border-radius:15px;background:linear-gradient(145deg,#fff,#f9fbfe);box-shadow:0 5px 17px #24466b09;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}
.dashboardStatCard:hover{transform:translateY(-2px);border-color:#c8dcf2;box-shadow:0 10px 24px #24466b12}
.dashboardStatIcon{display:grid;place-items:center;flex:0 0 39px;height:39px;border-radius:12px;background:#eaf3ff;color:#1676df;font-size:18px;font-weight:800}
.dashboardStatCard>span:last-child{display:grid;min-width:0;gap:3px}
.dashboardStatCard small{color:#657b92;font-size:11px;font-weight:700}
.dashboardStatCard strong{color:#173b63;font-size:25px;line-height:1.15}
.dashboardStatCard em{color:#91a0b1;font-size:10px;font-style:normal}
.dashboardStatCard.violet .dashboardStatIcon{background:#f1edff;color:#7657d6}.dashboardStatCard.cyan .dashboardStatIcon{background:#e8f8fb;color:#16899b}.dashboardStatCard.orange .dashboardStatIcon{background:#fff3e4;color:#d17a12}.dashboardStatCard.green .dashboardStatIcon{background:#e9f8f0;color:#168457}.dashboardStatCard.pink .dashboardStatIcon{background:#fff0f3;color:#d34b68}.dashboardStatCard.indigo .dashboardStatIcon{background:#eef0ff;color:#5669cf}.dashboardStatCard.teal .dashboardStatIcon{background:#e7f8f7;color:#13867f}
.dashboardColumns{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;align-items:stretch}
.dashboardColumns>.panel,.dashboardRecentPanel{overflow:hidden;margin:0;border-color:#e0e9f3;border-radius:15px;box-shadow:0 6px 20px #24466b09}
.dashboardColumns>.panel>header,.dashboardRecentPanel>header{padding:16px 18px;border-bottom:1px solid #eaf0f6}
.dashboardColumns>.panel>header b,.dashboardRecentPanel>header b{color:#173b63;font-size:14px}
.dashboardColumns>.panel>header small,.dashboardRecentPanel>header small{color:#8494a7;font-size:10px}
.dashboardQuickLinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:13px}
.dashboardQuickLinks>a{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid #e7edf5;border-radius:11px;background:#fbfdff;text-decoration:none;transition:border-color .18s,background .18s,transform .18s}
.dashboardQuickLinks>a:hover{transform:translateY(-1px);border-color:#b9d5f5;background:#f4f8ff}
.dashboardQuickLinks>a>i{display:grid;place-items:center;flex:0 0 33px;height:33px;border-radius:10px;background:#eaf3ff;color:#1676df;font-size:15px;font-style:normal}
.dashboardQuickLinks>a>span{display:grid;min-width:0;gap:4px}.dashboardQuickLinks b{overflow:hidden;color:#294763;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dashboardQuickLinks small{overflow:hidden;color:#8a99aa;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.dashboardQuickLinks em{margin-left:auto;color:#92a4b7;font-size:19px;font-style:normal}
.dashboardAttentionRow{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid #eef2f6;text-decoration:none}
.dashboardAttentionRow>span:nth-child(2){display:grid;min-width:0;gap:4px}.dashboardAttentionRow b{color:#304b66;font-size:11px}.dashboardAttentionRow small{color:#8797a9;font-size:9px}.dashboardAttentionRow strong{margin-left:auto;color:#173b63;font-size:19px}
.dashboardAttentionIcon{display:grid;place-items:center;flex:0 0 31px;height:31px;border-radius:10px;font-size:14px;font-weight:800}.dashboardAttentionIcon.orange{background:#fff3e4;color:#d17a12}.dashboardAttentionIcon.violet{background:#f1edff;color:#7657d6}
.dashboardDataNotice{display:flex;gap:10px;margin:13px;padding:12px;border:1px solid #d9efe5;border-radius:11px;background:#f3fbf7}.dashboardDataNotice>span{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#def4e9;color:#148254;font-weight:800}.dashboardDataNotice div{display:grid;gap:4px}.dashboardDataNotice b{color:#23664b;font-size:10px}.dashboardDataNotice small{color:#718a7f;font-size:9px;line-height:1.5}
.dashboardRecentPanel>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboardRecentPanel>header>div{display:grid;gap:4px}.dashboardRecentPanel>header>a{color:#1676df;font-size:10px;font-weight:700;text-decoration:none}.dashboardRecentPanel table{min-width:600px}.dashboardRecentPanel th{background:#f7f9fc}.dashboardRecentPanel td{padding-top:13px;padding-bottom:13px}
@media(max-width:1050px){.dashboardStats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardColumns{grid-template-columns:1fr}}
@media(max-width:600px){.dashboardPage{gap:13px}.dashboardWelcome{align-items:flex-start;flex-direction:column;padding:19px}.dashboardWelcome h1{font-size:22px}.dashboardWelcomeActions{width:100%}.dashboardWelcomeActions .button{flex:1}.dashboardStats{gap:8px}.dashboardStatCard{min-height:98px;gap:9px;padding:11px}.dashboardStatIcon{flex-basis:32px;height:32px;border-radius:10px;font-size:15px}.dashboardStatCard strong{font-size:21px}.dashboardStatCard small{font-size:10px}.dashboardStatCard em{font-size:9px}.dashboardQuickLinks{grid-template-columns:1fr;padding:10px}.dashboardRecentPanel>header{align-items:flex-start;flex-direction:column}}

/* Competition attempt review and live status */
.competitionHistoryTable{min-width:1460px}.competitionHistoryTable td{vertical-align:middle}.competitionHistoryTable td small.competitionLiveElapsed{display:block;margin-top:6px;color:#a76b00;font-size:10px;font-weight:750;white-space:nowrap}.competitionLiveDuration{white-space:nowrap;color:#a76b00;font-weight:700}.competitionAnsweredCount{display:inline-flex;padding:5px 9px;border:1px solid #d9e8f8;border-radius:20px;background:#f2f7fd;color:#315675;font-size:11px;font-weight:700;white-space:nowrap}.competitionAttemptDetail{overflow:hidden;border:1px solid #dce8f5;border-radius:18px;background:linear-gradient(155deg,#fff,#f8fbff);box-shadow:0 12px 28px #1838580b}.competitionAttemptDetail>header{padding:22px 24px;background:linear-gradient(120deg,#f2f8ff,#fff);border-bottom:1px solid #e5edf6}.competitionAttemptEyebrow{display:inline-block;margin-bottom:7px;color:#1476d4;font-size:10px;font-weight:800;letter-spacing:.08em}.competitionAttemptScore{display:grid;justify-items:end;gap:9px}.competitionAttemptScore strong{padding:8px 12px;border-radius:11px;background:#eaf4ff;color:#096ac8;font-size:20px}.competitionAttemptScore strong small{font-size:12px}.competitionAttemptMeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;padding:18px 22px;background:#fff}.competitionAttemptMeta>div{display:grid;align-content:start;gap:6px;min-height:70px;padding:12px;border:1px solid #e5edf6;border-radius:12px;background:#f8fbff}.competitionAttemptMeta small{color:#71849a;font-size:10px}.competitionAttemptMeta b{color:#294763;font-size:12px;line-height:1.5}.competitionAttemptPrediction{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 22px 18px;padding:14px 16px;border:1px solid #d6e7fa;border-radius:13px;background:#f1f7ff;color:#375774;font-size:12px}.competitionAttemptPrediction b{color:#125da8;font-size:14px;white-space:nowrap}.competitionAttemptAnswers{display:grid;gap:12px;padding:18px 22px 24px}.competitionAttemptAnswersHeading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:2px 2px 4px}.competitionAttemptAnswersHeading h3{margin:0;color:#173b63;font-size:17px}.competitionAttemptAnswersHeading p{margin:5px 0 0;color:#75869a;font-size:11px}.competitionAttemptAnswersHeading .competitionLiveElapsed{padding:7px 11px;border:1px solid #f6d58a;border-radius:20px;background:#fff6dd;color:#986100;font-size:11px;font-weight:800;white-space:nowrap}.competitionAttemptAnswer{padding:16px;border:1px solid #e0eaf5;border-radius:14px;background:#fff}.competitionAttemptAnswer>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.competitionAttemptAnswer h4{margin:0;color:#173b63;font-size:14px;line-height:1.55}.competitionQuestionAnswerState{flex:none;padding:5px 9px;border-radius:20px;background:#eafaf4;color:#087653;font-size:10px;font-weight:750}.competitionQuestionAnswerState.isWrong{background:#fff1f1;color:#b53b3b}.competitionQuestionAnswerState.isUnanswered{background:#f2f5f8;color:#748397}.competitionAnswerMissing{margin:18px;padding:13px;border-radius:11px;background:#f5f8fc;color:#72849a;font-size:12px}.competitionHistoryTable .button{white-space:nowrap}
@media(max-width:620px){.competitionAttemptDetail>header{align-items:flex-start;padding:16px}.competitionAttemptMeta{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px}.competitionAttemptPrediction{align-items:flex-start;flex-direction:column;margin:0 13px 13px}.competitionAttemptAnswers{padding:13px}.competitionAttemptAnswer{padding:12px}.competitionAttemptAnswer>header{flex-direction:column}.competitionAttemptAnswersHeading{align-items:flex-start}}.permissionMatrix{width:100%;border-collapse:collapse;background:#fff;border-radius:9px;overflow:hidden}.permissionMatrix th,.permissionMatrix td{padding:9px 12px;border-bottom:1px solid #e8eef5;text-align:left;font-size:11px}.permissionMatrix thead th{color:#64748b;background:#f3f7fc;font-size:10px;text-transform:uppercase}.permissionMatrix tbody th{font-weight:650;min-width:220px}.permissionAction{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.permissionAction input{accent-color:#0879ed}.permissionMatrix td{text-align:center}.permissionMatrix td label{justify-content:center}@media(max-width:700px){.permissionBox{padding:10px}.permissionMatrix tbody th{min-width:145px}.permissionMatrix th,.permissionMatrix td{padding:8px 6px}}

.homeSettings .iconPicker{min-width:150px;min-height:36px;padding:7px 9px;border:1px solid #dfe7f0;border-radius:7px;background:#fbfdff;color:#17365d;font:inherit}.homeSettings .iconPicker:focus{outline:2px solid #1683f8;outline-offset:1px}

/* Question bank list page */
.competitionQuestionPageHead{align-items:center;margin-bottom:18px;padding:20px 22px;border:1px solid #d9e7f6;border-radius:16px;background:linear-gradient(115deg,#fff 0%,#f3f8ff 65%,#eaf3ff 100%);box-shadow:0 8px 24px #1b385b0a}.competitionQuestionPageHead h1{color:#15395f;font-size:24px;letter-spacing:-.35px}.competitionQuestionPageHead p{max-width:560px;line-height:1.55}.competitionQuestionActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.competitionQuestionActions .button{min-height:40px;border-radius:10px}.competitionQuestionActions .button.primary{padding-inline:16px}.competitionQuestionToolbar{grid-template-columns:minmax(250px,1.5fr) minmax(200px,.8fr) auto;gap:10px;margin:0 0 15px;padding:14px;border:1px solid #dce8f5;border-radius:14px;background:#fff;box-shadow:0 6px 20px #193a5c0a}.competitionQuestionToolbar input,.competitionQuestionToolbar select{height:44px;border-color:#d8e4f1;border-radius:10px}.competitionQuestionToolbar .button{height:44px;min-width:112px;border-radius:10px}.competitionQuestionList{border:1px solid #dfe8f3;border-radius:15px;box-shadow:0 8px 24px #193a5c0a}.competitionQuestionList table{min-width:760px}.competitionQuestionList th{padding:14px 16px;background:#f5f8fc;color:#637890;font-size:10px;letter-spacing:.55px}.competitionQuestionList td{padding:14px 16px;border-color:#edf2f7;color:#354b64;font-size:12px}.competitionQuestionList tbody tr{transition:background .15s}.competitionQuestionList tbody tr:hover{background:#f7faff}.competitionQuestionList td:first-child{min-width:300px;max-width:620px}.competitionQuestionList td:first-child>b{display:block;color:#17395e;font-size:13px;line-height:1.45}.competitionQuestionList .sub{margin-top:5px;color:#71839a;font-size:11px;line-height:1.55}.competitionQuestionList .badge{padding:6px 10px;background:#eaf3ff;color:#126ac5;font-size:10px;font-weight:700}.competitionQuestionList .actions{align-items:center;gap:7px}.competitionQuestionList .actions a,.competitionQuestionList .actions button{width:34px;height:34px;border-color:#dce7f3;border-radius:9px;background:#fff;color:#47709a;font-size:14px;transition:all .15s}.competitionQuestionList .actions a:hover{border-color:#83b9f3;background:#edf6ff;color:#086dd7}.competitionQuestionList .actions button:hover{border-color:#f0b8bd;background:#fff2f2;color:#c43d49}.competitionQuestionList .tablefoot{padding:13px 16px;background:#fbfdff;font-size:11px}@media(max-width:700px){.competitionQuestionPageHead{align-items:stretch;flex-direction:column;padding:17px}.competitionQuestionPageHead h1{font-size:21px}.competitionQuestionActions{justify-content:flex-start}.competitionQuestionActions .button{flex:1;min-width:120px}.competitionQuestionToolbar{grid-template-columns:1fr;padding:11px}.competitionQuestionToolbar .button{width:100%}.competitionQuestionList table{min-width:700px}.competitionQuestionList th,.competitionQuestionList td{padding:12px}}

.customModuleForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:end}.customModuleForm .field{margin:0}.customModuleForm input[type=color]{min-height:42px;padding:4px}.customModulePublic{max-width:900px;margin:18px auto;padding:16px;background:#fff;border:1px solid #dce7f5;border-radius:18px;box-shadow:0 8px 24px #18375b12}.customModulePublic>header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.customModulePublic>header i{width:48px;height:48px;border-radius:14px;color:#fff;display:grid;place-items:center;font-size:24px;font-style:normal}.customModulePublic h2{margin:0}.customModulePublic header p{margin:4px 0;color:#718096}.customModuleFrame{height:min(72vh,780px);min-height:420px;overflow:hidden;border:1px solid #e2e8f0;border-radius:12px}.customModuleFrame iframe{width:100%;height:100%;border:0;background:#fff}.customModuleOpen{font-size:13px;margin:10px 2px 0}.customModuleOpen a{color:#126de5}@media(max-width:600px){.customModuleFrame{height:68vh;min-height:360px}}
/* Local custom modules admin page */
.localModulesPage{display:grid;gap:18px;max-width:1440px;margin:0 auto;padding-bottom:24px;color:#183653}
.localModulesPage .localModulesHead{align-items:center;gap:22px;margin:0;padding:24px 26px;border:1px solid #d9e7f6;border-radius:18px;background:radial-gradient(circle at 92% 0%,#dcecff 0,transparent 32%),linear-gradient(115deg,#fff,#f3f8ff);box-shadow:0 10px 28px #173b600b}
.localModulesPage .localModulesHead h1{margin:3px 0 7px;color:#16395d;font-size:25px;letter-spacing:-.45px}
.localModulesPage .localModulesHead p{max-width:690px;margin:0;color:#687f98;font-size:12px;line-height:1.65}
.localModulesEyebrow{display:block;color:#1476d4;font-size:9px;font-weight:800;letter-spacing:.12em}
.localModulesPage .localModulesHead>.button{flex:none;min-height:42px;padding:0 16px;border:1px solid #d2e2f3;border-radius:11px;background:#fff;color:#1768b5;font-weight:700;text-decoration:none}
.localModulesPage .localModulesHead>.button:hover{border-color:#9ac8f5;background:#f4f9ff}
.localModulesPage .localModuleCard{overflow:hidden;margin:0;padding:0;border:1px solid #dce7f3;border-radius:16px;background:#fff;box-shadow:0 8px 24px #173b6009}
.localModuleCardHead{padding:19px 22px 15px;border-bottom:1px solid #e9eff6;background:linear-gradient(120deg,#f7faff,#fff)}
.localModuleCardHead h2{margin:4px 0 5px;color:#183d62;font-size:18px;letter-spacing:-.2px}
.localModuleCardHead p{margin:0;color:#72849a;font-size:11px;line-height:1.6}
.localModulesPage .customModuleForm{grid-template-columns:minmax(220px,1.15fr) minmax(190px,1fr) minmax(120px,.55fr);gap:15px;padding:20px 22px 22px;align-items:end}
.localModulesPage .customModuleForm .field{display:grid;gap:7px;color:#36516d;font-size:11px;font-weight:700}
.localModulesPage .customModuleForm .field input:not([type=color]),.localModulesPage .customModuleForm .field select{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9e4f0;border-radius:10px;background:#fbfdff;color:#274662;font-family:inherit;font-size:12px;font-weight:500;box-shadow:inset 0 1px 2px #173b6005;transition:border-color .15s,box-shadow .15s}
.localModulesPage .customModuleForm .field input:focus,.localModulesPage .customModuleForm .field select:focus{outline:0;border-color:#5aa4f3;box-shadow:0 0 0 3px #1683f81c}
.localModulesPage .customModuleForm .field input[type=color]{width:100%;height:42px;min-height:42px;padding:4px;border:1px solid #d9e4f0;border-radius:10px;background:#fbfdff;cursor:pointer}
.localModulesPage .customModuleForm .button{min-height:42px;border-radius:10px;font-weight:750;box-shadow:0 5px 12px #1677e01f}
.localModulesPage .localModuleList .tablewrap{border:0;border-radius:0;box-shadow:none}
.localModulesPage .localModuleList table{min-width:790px;border-collapse:separate;border-spacing:0}
.localModulesPage .localModuleList th{padding:13px 15px;background:#f6f9fd;color:#73869a;font-size:9px;letter-spacing:.07em}
.localModulesPage .localModuleList td{padding:14px 15px;border-bottom:1px solid #edf2f7;color:#405a74;font-size:11px;vertical-align:middle}
.localModulesPage .localModuleList tbody tr:last-child td{border-bottom:0}
.localModulesPage .localModuleList tbody tr:hover{background:#fbfdff}
.localModuleTitle{display:block;color:var(--module-color,#1679e8);font-size:12px;font-weight:750}
.localModulesPage .localModuleList .sub{display:block;max-width:300px;margin-top:5px;color:#8493a5;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.moduleStatus{display:inline-flex;align-items:center;padding:6px 9px;border-radius:20px;background:#fff5dc;color:#956400;font-size:10px;font-weight:750;line-height:1.2}
.moduleStatus-approved{background:#e9f8f0;color:#13734c}.moduleStatus-rejected{background:#fff0f0;color:#b54343}
.localModulesPage .localModuleList td form{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:210px}
.localModulesPage .localModuleList td form input:not([type=hidden]):not([type=checkbox]){width:min(100%,210px);height:34px;padding:0 9px;border:1px solid #dce6f0;border-radius:8px;font-size:10px}
.localModulesPage .localModuleList td form label{display:flex;align-items:center;gap:5px;color:#50677d;font-size:10px}
.localModulesPage .localModuleList td form .button,.localModulesPage .localModuleList td>.button{min-height:32px;padding:0 10px;border-radius:8px;font-size:10px;white-space:nowrap}
.localModulesPage .localModuleList .empty{padding:30px 16px;text-align:center;color:#8595a7}
.localModulesPage>.notice{margin:0;padding:14px 17px;border:1px solid #d4e6fa;border-radius:12px;background:#f1f7ff;color:#42627f;font-size:11px;line-height:1.6}
@media(max-width:760px){.localModulesPage{gap:13px}.localModulesPage .localModulesHead{align-items:flex-start;flex-direction:column;padding:19px}.localModulesPage .localModulesHead h1{font-size:21px}.localModulesPage .customModuleForm{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px}.localModuleCardHead{padding:16px 16px 13px}.localModulesPage .localModuleList table{min-width:740px}}
@media(max-width:480px){.localModulesPage .customModuleForm{grid-template-columns:1fr}.localModulesPage .customModuleForm .button{width:100%}}

.localGroupForms{display:grid;grid-template-columns:1fr 1.7fr;gap:14px;padding:18px 22px 21px}.localGroupCreate,.localGroupEdit{display:flex;align-items:end;gap:10px;padding:14px;border:1px solid #e2ebf5;border-radius:12px;background:#f9fbfe}.localGroupForms .field{display:grid;flex:1;gap:7px;margin:0;color:#36516d;font-size:11px;font-weight:700}.localGroupForms .field input,.localGroupForms .field select{width:100%;min-height:40px;padding:0 11px;border:1px solid #d9e4f0;border-radius:9px;background:#fff;color:#274662;font-family:inherit;font-size:12px;font-weight:500}.localGroupForms .button{min-height:39px;border-radius:9px;white-space:nowrap}.localGroupForms .button.danger{border:1px solid #f0cccc;background:#fff7f7;color:#b43636}.localGroupEmpty{grid-column:1/-1;margin:0;padding:10px 2px;color:#71849a;font-size:12px}@media(max-width:760px){.localGroupForms{grid-template-columns:1fr;padding:14px}.localGroupCreate,.localGroupEdit{flex-wrap:wrap}.localGroupForms .field{min-width:170px}}@media(max-width:480px){.localGroupCreate,.localGroupEdit{align-items:stretch;flex-direction:column}.localGroupForms .button{width:100%}}

/* Product and course review moderation controls */
.moduleList-product_reviews td.actions,.moduleList-learning_reviews td.actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:7px;min-width:205px;padding-top:10px;padding-bottom:10px}.moduleList-product_reviews td.actions .reviewViewButton,.moduleList-learning_reviews td.actions .reviewViewButton{height:34px;min-width:48px;padding:0 11px;border-radius:9px;font-size:11px}.moduleList-product_reviews td.actions .reviewModeration,.moduleList-learning_reviews td.actions .reviewModeration{display:flex;margin:0}.moduleList-product_reviews td.actions .reviewApprove,.moduleList-learning_reviews td.actions .reviewApprove{height:34px!important;min-width:78px!important;padding:0 10px!important;border:1px solid #cfe2fb!important;border-radius:9px!important;background:#eff6ff!important;color:#176fd1!important;font-size:10px!important;font-weight:700}.moduleList-product_reviews td.actions .reviewApprove.isApproved,.moduleList-learning_reviews td.actions .reviewApprove.isApproved{border-color:#ccebd9!important;background:#effaf4!important;color:#19814e!important}.moduleList-product_reviews td.actions>a:not(.reviewViewButton),.moduleList-learning_reviews td.actions>a:not(.reviewViewButton),.moduleList-product_reviews td.actions>form:not(.reviewModeration) button,.moduleList-learning_reviews td.actions>form:not(.reviewModeration) button{width:34px;height:34px;border:1px solid #e0e8f1;border-radius:9px;background:#fff;color:#526983;transition:background .15s,border-color .15s,transform .15s}.moduleList-product_reviews td.actions>a:hover,.moduleList-learning_reviews td.actions>a:hover,.moduleList-product_reviews td.actions>form button:hover,.moduleList-learning_reviews td.actions>form button:hover{border-color:#a9c9ed;background:#f2f7fd;transform:translateY(-1px)}.moduleList-product_reviews td.actions>form:not(.reviewModeration),.moduleList-learning_reviews td.actions>form:not(.reviewModeration){display:flex}

.customModuleForm [hidden]{display:none!important}.customModuleForm [data-destination-field=module] select{width:100%}

.moduleScopeBox{grid-column:1/-1;display:grid;gap:10px;padding:14px 15px;border:1px solid #dce7f3;border-radius:12px;background:#f7faff}.moduleScopeBox>label,.moduleLocationChoices label,.moduleApprovalForm label{display:flex;align-items:center;gap:7px;color:#36516d;font-size:11px;font-weight:650}.moduleScopeBox>span{font-size:11px;color:#6a7e94}.moduleLocationChoices{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;max-height:180px;overflow:auto;padding:2px}.moduleLocationChoices label{padding:8px 9px;border:1px solid #e3ebf4;border-radius:8px;background:#fff;font-weight:500}.moduleScopeActions{min-width:170px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.moduleScopeActions form{margin:0}.moduleApprovalForm{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 8px;min-width:220px}.moduleApprovalForm input[name=review_note],.moduleRequestReviewForm input[name=admin_note]{height:34px;max-width:190px;padding:0 9px;border:1px solid #dce6f0;border-radius:8px;font-size:10px}.moduleApprovalForm .button,.moduleScopeActions>.button,.moduleScopeActions form .button,.moduleRequestReviewForm .button{min-height:32px;padding:0 10px;border-radius:8px;font-size:10px;white-space:nowrap}.moduleScopeActions .danger,.moduleRequestReviewForm .danger{border:1px solid #f1cccc;background:#fff6f6;color:#b52e3d}.requestDeleteDetails{position:relative}.requestDeleteDetails summary{padding:8px 10px;border:1px solid #f1cccc;border-radius:8px;background:#fff8f8;color:#ad3640;font-size:10px;cursor:pointer;white-space:nowrap}.requestDeleteDetails form{position:absolute;right:0;top:35px;z-index:2;display:grid;gap:8px;width:260px;padding:12px;border:1px solid #e1e8f0;border-radius:10px;background:#fff;box-shadow:0 8px 25px #172c451a}.requestDeleteDetails textarea,.moduleRequestNote textarea{width:100%;min-height:72px;padding:9px;border:1px solid #dce6f0;border-radius:8px;font-family:inherit;font-size:12px;resize:vertical}.moduleRequestNote{grid-column:1/-1}.readOnlyGroup{align-content:start}.readOnlyGroup b{min-height:42px;padding:12px;border:1px solid #d9e4f0;border-radius:10px;background:#f7faff;color:#36516d}.moduleRequestReviewForm{display:flex;gap:6px;flex-wrap:wrap;min-width:210px}.moduleRequestReviewForm input[name=admin_note]{width:100%;max-width:240px}.localModuleList .requestReviewList td{vertical-align:top}.moduleScopeActions form[data-confirm]{display:inline-flex}
@media(max-width:760px){.moduleScopeBox,.moduleRequestNote{grid-column:1}.moduleLocationChoices{grid-template-columns:repeat(2,minmax(0,1fr))}.moduleScopeActions{min-width:150px}}@media(max-width:480px){.moduleLocationChoices{grid-template-columns:1fr}.moduleScopeActions{align-items:stretch;flex-direction:column}.requestDeleteDetails form{right:auto;left:0}}

.moduleRequestNote textarea{min-height:88px}.requestReviewList .moduleRequestReviewForm{align-items:flex-start}.requestDeleteDetails[open] summary{background:#fff0f0;border-color:#e6afb3}

.competitionQuestionList .questionNumberCol{width:58px;min-width:58px;text-align:center;color:#71839a;font-size:11px;font-weight:700}.competitionQuestionList th.questionNumberCol{color:#637890}.competitionQuestionList td.questionNumberCol{font-variant-numeric:tabular-nums}

.questionBulkControls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:12px 16px;border:1px solid #dbe7f4;border-radius:13px;background:linear-gradient(110deg,#fff,#f4f8ff);box-shadow:0 5px 16px #193a5c08}.questionBulkControls form{display:none}.questionBulkControls label{display:flex;align-items:center;gap:9px;color:#38536f;font-size:12px;font-weight:600;cursor:pointer}.questionBulkControls input[type=checkbox],.questionSelectCol input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#0878f9;cursor:pointer}.questionBulkControls .button.danger{min-height:36px;padding:0 15px;border:1px solid #f2c8cd;border-radius:9px;background:#fff5f5;color:#bd3342;font-weight:700}.questionBulkControls .button.danger:hover{border-color:#e9a5ad;background:#ffe8ea}.competitionQuestionList table{min-width:850px}.competitionQuestionList th.questionSelectCol,.competitionQuestionList td.questionSelectCol{width:44px;min-width:44px;padding-right:6px;padding-left:14px;text-align:center}.competitionQuestionList td:first-child{min-width:44px;max-width:44px}.competitionQuestionList td:nth-child(2){width:58px;min-width:58px;text-align:center;font-variant-numeric:tabular-nums}.competitionQuestionList td:nth-child(3){min-width:300px;max-width:620px}.competitionQuestionList td:nth-child(3)>b{display:block;color:#17395e;font-size:13px;line-height:1.45}.competitionQuestionList th{white-space:nowrap}.competitionQuestionList tbody tr:nth-child(even){background:#fbfdff}.competitionQuestionList tbody tr:hover{background:#f0f7ff}.competitionQuestionList .actions{white-space:nowrap}@media(max-width:700px){.questionBulkControls{align-items:flex-start;flex-direction:column}.questionBulkControls .button{width:100%}}

.competitionQuestionList.noBulkSelect td:first-child{width:58px;min-width:58px;max-width:58px}.competitionQuestionList.noBulkSelect td:nth-child(2){width:auto;min-width:300px;max-width:620px;text-align:left}.competitionQuestionList.noBulkSelect td:nth-child(3){width:auto;min-width:90px;max-width:none}

.questionTopicManager{margin:0 0 14px;border:1px solid #dbe7f4;border-radius:13px;background:#fff;box-shadow:0 5px 16px #193a5c08}.questionTopicManager>summary{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;color:#24486c;font-size:12px;font-weight:700;cursor:pointer;list-style:none}.questionTopicManager>summary::-webkit-details-marker{display:none}.questionTopicManager>summary:after{content:'⌄';color:#1680ed;font-size:17px}.questionTopicManager>summary span{margin-left:auto;margin-right:12px;padding:4px 9px;border-radius:20px;background:#edf5ff;color:#3976b5;font-size:10px}.questionTopicManager[open]>summary{border-bottom:1px solid #e5edf6}.questionTopicManagerList{display:grid;gap:8px;padding:12px}.questionTopicManagerRow{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #e7eef6;border-radius:10px;background:#fbfdff}.questionTopicManagerRow form:first-child{display:flex;flex:1;gap:8px}.questionTopicManagerRow input[name=topic_title]{min-width:0;flex:1;height:38px;padding:0 11px;border:1px solid #dce6f2;border-radius:8px;background:#fff;color:#294660}.questionTopicManagerRow .button{min-height:36px;padding:0 13px;border-radius:8px}.questionTopicManagerRow .button.danger{border-color:#f1c6cb;background:#fff5f5;color:#ba3543}@media(max-width:600px){.questionTopicManagerRow{align-items:stretch;flex-wrap:wrap}.questionTopicManagerRow form:first-child{min-width:100%}.questionTopicManagerRow input[name=topic_title]{width:100%}}


.competitionNewsSummaryField{grid-column:1/-1}.competitionNewsSummaryField textarea{min-height:82px;resize:vertical}.competitionNewsAttachments{display:grid;gap:12px}.competitionNewsAttachmentList{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;padding:12px;border:1px solid #dbe7f4;border-radius:12px;background:#f7faff}.competitionNewsAttachmentList strong{grid-column:1/-1;color:#23476a}.competitionNewsAttachmentList label{display:flex;align-items:center;gap:6px;color:#bb3341}.competitionNewsAttachmentList a{overflow-wrap:anywhere;color:#1675dc}.competitionNewsAttachments input[type=file]{padding:12px;border:1px dashed #b7cce4;border-radius:10px;background:#f8fbff}@media(max-width:620px){.competitionNewsAttachmentList{grid-template-columns:1fr}.competitionNewsAttachmentList strong{grid-column:auto}}
.competitionNewsNewFiles{display:grid;gap:6px}.competitionNewsNewFile{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 11px;border:1px solid #dbe7f4;border-radius:9px;background:#f8fbff;color:#35516e;font-size:12px}.competitionNewsNewFile span{overflow-wrap:anywhere}.competitionNewsNewFile button{flex:none;border:0;background:transparent;color:#bf3442;cursor:pointer;font-weight:700}
.competitionNewsDetail{margin-top:10px;border-top:1px solid #e4edf7;padding-top:9px}.competitionNewsDetail>summary{display:inline-flex;align-items:center;gap:6px;color:#0878ee;font-size:12px;font-weight:700;cursor:pointer;list-style:none}.competitionNewsDetail>summary::-webkit-details-marker{display:none}.competitionNewsDetail>summary:after{content:'⌄';font-size:15px;transition:transform .18s ease}.competitionNewsDetail[open]>summary:after{transform:rotate(180deg)}.competitionNewsFullContent{margin-top:12px;color:#27425f;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.competitionNewsFullContent p{margin:0 0 10px}.competitionNewsFullContent img{max-width:100%;height:auto;border-radius:10px}.competitionNewsFullContent ul,.competitionNewsFullContent ol{padding-left:22px}.competitionNewsDetail .competitionNewsAttachments{margin-top:12px}
.externalLearningList,.learningFaqList{display:grid;gap:10px;padding:12px}.externalLearningList>header,.learningFaqList>header{padding:15px;border:1px solid #dbe8f6;border-radius:14px;background:linear-gradient(135deg,#fff,#eef6ff)}.externalLearningList>header h3,.learningFaqList>header h3{margin:0 0 5px;color:#153d66;font-size:16px}.externalLearningList>header p,.learningFaqList>header p{margin:0;color:#7186a0;font-size:12px}.externalLearningItem{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border:1px solid #dce8f5;border-radius:13px;background:#fff;box-shadow:0 4px 12px #1b43600a}.externalLearningIcon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eaf4ff;font-size:20px}.externalLearningItem h4{margin:0;color:#183d64;font-size:13px}.externalLearningItem small{color:#70849c;font-size:10px}.externalLearningItem p{margin:6px 0 0;color:#526a84;font-size:11px;line-height:1.5}.externalMaterialAction{padding:8px 10px;border-radius:9px;background:#eaf4ff;color:#0878ed;font-size:11px;font-weight:700;white-space:nowrap}.learningFaqList{padding-bottom:18px}.learningFaqItem{overflow:hidden;border:1px solid #dce8f5;border-radius:12px;background:#fff}.learningFaqItem>summary{position:relative;padding:13px 38px 13px 14px;color:#193f67;font-size:12px;font-weight:700;cursor:pointer;list-style:none}.learningFaqItem>summary::-webkit-details-marker{display:none}.learningFaqItem>summary:after{position:absolute;right:14px;content:'＋';color:#0878ed}.learningFaqItem[open]>summary{border-bottom:1px solid #e8eff7}.learningFaqItem[open]>summary:after{content:'−'}.learningFaqItem>div{padding:13px 14px;color:#4d6680;font-size:12px;line-height:1.65}.externalLearningCard{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;margin:12px 0;padding:13px;border:1px solid #dbe8f6;border-radius:13px;background:#f5faff}.externalLearningCard>span{font-size:25px}.externalLearningCard b,.externalLearningCard small{display:block}.externalLearningCard b{color:#193d63;font-size:13px}.externalLearningCard small{margin-top:4px;color:#7186a0;font-size:11px}.externalLearningCard>a{grid-column:1/-1;padding:10px;border-radius:9px;background:#0878ed;color:#fff;text-align:center;font-size:12px;font-weight:700}@media(max-width:440px){.externalLearningItem{grid-template-columns:36px minmax(0,1fr)}.externalMaterialAction{grid-column:2;justify-self:start}.externalLearningIcon{width:34px;height:34px}}

/* Refine restaurant and hotel fields and keep rich text editing predictable. */
.hotelsForm .placeLongDetailField,.restaurantsForm .placeLongDetailField{display:grid;gap:10px;min-width:0}
.hotelsForm .placeLongDetailField>.richTextEditor,.restaurantsForm .placeLongDetailField>.richTextEditor{min-width:0;overflow:hidden;border:1px solid #cfdeef;border-radius:14px;background:#fff;box-shadow:0 5px 18px #1838580a;transition:border-color .18s,box-shadow .18s}
.hotelsForm .placeLongDetailField>.richTextEditor:focus-within,.restaurantsForm .placeLongDetailField>.richTextEditor:focus-within{border-color:#72aef0;box-shadow:0 0 0 4px #1689f817,0 8px 22px #18385810}
.hotelsForm .placeLongDetailField .richTextToolbar,.restaurantsForm .placeLongDetailField .richTextToolbar{position:relative;top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:10px 12px;background:#f4f8fd;border-bottom:1px solid #e2ebf5}
.hotelsForm .placeLongDetailField .richTextContent,.restaurantsForm .placeLongDetailField .richTextContent{min-height:220px;max-height:55vh;padding:18px 20px;outline:0;color:#263b52;line-height:1.75;caret-color:#0878f9;cursor:text;overflow:auto}
.hotelsForm .placeLongDetailField .richTextContent:empty:before,.restaurantsForm .placeLongDetailField .richTextContent:empty:before{content:"Nhập mô tả chi tiết tại đây…";color:#9aaabe}
.hotelsForm .placeLongDetailField .richTextContent img,.restaurantsForm .placeLongDetailField .richTextContent img{max-width:100%;max-height:360px;object-fit:contain;border-radius:10px}
.hotelsForm .placeImagePreview,.restaurantsForm .placeImagePreview{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,120px));gap:12px;margin:14px 0 0}
.hotelsForm .placeImagePreview:empty,.restaurantsForm .placeImagePreview:empty{display:none}
.hotelsForm .placeImagePicker:focus-within,.restaurantsForm .placeImagePicker:focus-within{outline:3px solid #1689f833;outline-offset:2px}
.hotelsForm .placeSettings>h3,.restaurantsForm .placeSettings>h3{display:flex;align-items:center;gap:10px;margin:0 0 2px;color:#173b63;font-size:18px}
.hotelsForm .placeSettings>h3:before,.restaurantsForm .placeSettings>h3:before{content:"✦";display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e8f3ff;color:#1373d1;font-size:14px}
@media(max-width:760px){.hotelsForm .placeLongDetailField .richTextContent,.restaurantsForm .placeLongDetailField .richTextContent{min-height:190px;padding:14px}.hotelsForm .placeLongDetailField .richTextToolbar,.restaurantsForm .placeLongDetailField .richTextToolbar{gap:5px;padding:8px}}
.hotelsForm .placeImagePreview label,.restaurantsForm .placeImagePreview label{position:relative}.hotelsForm .placeImageRemoveButton,.restaurantsForm .placeImageRemoveButton{position:absolute;top:6px;right:6px;z-index:2;padding:5px 8px;border:1px solid #fecaca;border-radius:8px;background:#fff;color:#b42318;font-size:11px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #102a4320}.hotelsForm .placeImagePreview .isRemoved img,.restaurantsForm .placeImagePreview .isRemoved img{opacity:.35;filter:grayscale(1)}.hotelsForm .placeImagePreview .isRemoved,.restaurantsForm .placeImagePreview .isRemoved{outline:2px solid #ef4444}.hotelsForm .placeImagePreview input[name="existing_images[]"],.restaurantsForm .placeImagePreview input[name="existing_images[]"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
