/* portal.js の実行時に style 要素へ入れていた規則。先に読み込む全ページで安全な限定セレクター。 */
.ee-dialog-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(38,32,58,.48);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:eeDialogFade .12s ease-out;}
.ee-dialog{position:relative;box-sizing:border-box;width:100%;max-width:560px;max-height:80vh;overflow:auto;background:#fff;color:#3d4149;border:1px solid #ece9f6;border-top:6px solid var(--ui2-purple,var(--admin-pop-purple,#6c5ce7));border-radius:18px;padding:24px 26px;box-shadow:0 20px 50px rgba(45,52,54,.24);font-size:14px;line-height:1.75;animation:eeDialogPop .16s cubic-bezier(.34,1.56,.64,1);}
.ee-dialog.wide{max-width:680px;}
.ee-dialog.danger{border-top-color:var(--ui2-red,#d63031);}
.ee-dialog.busy{max-width:420px;text-align:center;}
.ee-dialog h3{margin:0 0 10px;font-size:18px;font-weight:800;letter-spacing:.01em;color:var(--ui2-purple,var(--admin-pop-purple,#6c5ce7));}
.ee-dialog.danger h3{color:var(--ui2-red,#d63031);}
.ee-dialog p{margin:0 0 18px;white-space:pre-wrap;}
.ee-dialog ul{margin:0 0 18px;padding-left:20px;max-height:40vh;overflow:auto;}
.ee-dialog ul li{margin:3px 0;}
.ee-dialog .ee-dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;}
.ee-dialog .ee-dialog-btn{min-height:38px;padding:8px 18px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;border:1px solid #ddd6f3;border-radius:11px;background:#faf8ff;color:var(--ui2-purple,var(--admin-pop-purple,#6c5ce7));transition:all .15s ease;}
.ee-dialog .ee-dialog-btn:hover{background:#f1ecff;}
.ee-dialog .ee-dialog-btn.primary{background:var(--ui2-purple,var(--admin-pop-purple,#6c5ce7));border-color:var(--ui2-purple,var(--admin-pop-purple,#6c5ce7));color:#fff;}
.ee-dialog .ee-dialog-btn.primary:hover{background:var(--ui2-purple-dark,#5b4cdb);border-color:var(--ui2-purple-dark,#5b4cdb);}
.ee-dialog.danger .ee-dialog-btn.primary{background:var(--ui2-red,#d63031);border-color:var(--ui2-red,#d63031);}
.ee-dialog .ee-dialog-field{margin:0 0 14px;}
.ee-dialog .ee-dialog-field label{display:block;margin:0 0 6px;font-weight:700;font-size:13px;}
.ee-dialog .ee-dialog-field .req{color:var(--ui2-red,#d63031);margin-left:4px;}
.ee-dialog .ee-dialog-field textarea{box-sizing:border-box;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.7;color:#3d4149;background:#fff;border:1px solid #ddd6f3;border-radius:11px;resize:vertical;}
.ee-dialog .ee-dialog-field textarea:focus{outline:2px solid var(--ui2-purple,#6c5ce7);outline-offset:1px;}
.ee-dialog-count{margin:6px 0 0;font-size:12px;font-weight:700;color:#8a95a3;text-align:right;font-variant-numeric:tabular-nums;}
.ee-dialog-count.over{color:var(--ui2-red,#d63031);font-size:13px;}
.ee-dialog-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
textarea.ee-over{border-color:var(--ui2-red,#d63031) !important;background:#fff6f6 !important;}
.ee-dialog .ee-dialog-checks{margin:0 0 14px;display:flex;flex-direction:column;gap:2px;}
.ee-dialog .ee-dialog-check{display:flex;gap:10px;align-items:center;padding:9px 12px;border:1px solid #ede9fb;border-radius:11px;font-size:14px;cursor:pointer;}
.ee-dialog .ee-dialog-check:hover{background:#faf8ff;}
.ee-dialog .ee-dialog-check input{width:17px;height:17px;accent-color:var(--ui2-red,#d63031);}
.ee-dialog .ee-dialog-check input:disabled{accent-color:#c9cbd3;}
.ee-dialog .ee-dialog-check input:disabled + span{color:#9aa0aa;}
.ee-dialog .ee-dialog-error{margin:-8px 0 14px;color:var(--ui2-red,#d63031);font-weight:700;}
.ee-dialog .ee-dialog-bar{margin-top:16px;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--ui2-purple,#6c5ce7),#c8bffc,var(--ui2-purple,#6c5ce7));background-size:200% 100%;animation:eeBusy 1.2s linear infinite;}
@keyframes eeDialogFade{from{opacity:0}to{opacity:1}}
@keyframes eeDialogPop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes eeBusy{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media (max-width:600px){.ee-dialog{padding:20px 18px;}.ee-dialog .ee-dialog-actions{justify-content:stretch;}.ee-dialog .ee-dialog-btn{flex:1;}}

/* デモの閲覧専用画面だけで入力欄を隠す。 */
.demo-mode .accordion-detail .field-rw,.demo-mode .accordion-detail .contrib-cols-2,.demo-mode .accordion-detail .contrib-col-eval,.demo-mode .accordion-detail .col-header-rw,.demo-mode .accordion-detail .ev-comment,.demo-mode .accordion-detail .ev-share,.demo-mode .accordion-detail .ev-rating { display: none !important; }

/* 予定の帯グラフ。 */
.portal-schedule-gantt{width:100%;overflow-x:auto;color:#26313f;}
.portal-schedule-period-summary{margin:0 0 12px;color:#26313f;}
.portal-schedule-period-row{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #e3e8ef;}
.portal-schedule-period-label{font-weight:700;}
.portal-schedule-period-value{text-align:right;}
.portal-schedule-gantt-axis,.portal-schedule-gantt-row{display:grid;grid-template-columns:minmax(130px,24%) minmax(280px,1fr);align-items:center;}
.portal-schedule-gantt-label{padding:8px 12px 8px 0;font-size:13px;font-weight:700;white-space:nowrap;}
.portal-schedule-gantt-axis-track,.portal-schedule-gantt-track{position:relative;min-width:280px;}
.portal-schedule-gantt-axis-track{height:30px;border-bottom:1px solid #dfe5ed;}
.portal-schedule-gantt-axis-label{position:absolute;bottom:6px;color:#7a8697;font-size:11px;white-space:nowrap;transform:translateX(-50%);}
.portal-schedule-gantt-axis-label:first-child{transform:none;}
.portal-schedule-gantt-axis-label:last-child{transform:translateX(-100%);}
.portal-schedule-gantt-track{height:34px;border-bottom:1px solid #edf0f4;background:repeating-linear-gradient(to right,transparent 0,transparent calc(25% - 1px),#edf0f4 calc(25% - 1px),#edf0f4 25%);}
.portal-schedule-gantt-bar{position:absolute;top:8px;height:18px;min-width:4px;border-radius:999px;box-shadow:0 1px 2px rgba(31,48,69,.16);}
.portal-schedule-gantt-bar.phase-0{background:#35a7c9;}
.portal-schedule-gantt-bar.phase-1{background:#e79648;}
.portal-schedule-gantt-marker{position:absolute;top:7px;width:3px;height:20px;border-radius:3px;background:#5f6b7a;transform:translateX(-50%);}
.portal-schedule-gantt-missing{color:#a5afbc;font-size:16px;}
.portal-schedule-deadline{margin:0 0 12px;padding:8px 12px;border-radius:8px;border:1px solid #e0a94a;background:#fdf5e4;color:#6b4a05;font-size:13px;font-weight:700;}
.portal-schedule-gantt-row:last-child .portal-schedule-gantt-track{border-bottom:0;}
@media(max-width:600px){.portal-schedule-period-row{display:block;}.portal-schedule-period-value{text-align:left;margin-top:3px;}.portal-schedule-gantt-axis,.portal-schedule-gantt-row{grid-template-columns:105px minmax(260px,1fr);}.portal-schedule-gantt-label{font-size:12px;}}
