/*
Theme Name: JCBO Contact Center Pro
Theme URI: https://jcbo-contact-center.jcbo.org/
Author: JCBO
Description: JCBOグループ非公開コンタクトセンター専用テーマ
Version: 1.5.0
Text Domain: jcbo-contact-center-pro
*/
:root{--navy:#071a33;--navy2:#0d2a4f;--blue:#1769e0;--cyan:#25c3e8;--white:#fff;--muted:#8ea2bb;--bg:#eef3f8;--card:#fff;--border:#dbe5ef;--ok:#1a9b65;--warn:#d98b19}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#14263b;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}a{color:inherit;text-decoration:none}.jcbo-shell{min-height:100vh}.jcbo-topbar{height:72px;background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-shadow:0 8px 24px rgba(4,20,40,.18)}.jcbo-brand{display:flex;gap:14px;align-items:center}.jcbo-logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--cyan));font-weight:800}.jcbo-brand small{display:block;color:#aecaeb}.jcbo-user{display:flex;align-items:center;gap:12px;font-size:14px}.jcbo-layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 72px)}.jcbo-side{background:#0b203c;color:#d9e6f6;padding:24px 16px}.jcbo-side a{display:flex;gap:10px;align-items:center;padding:13px 14px;border-radius:10px;margin:4px 0}.jcbo-side a:hover,.jcbo-side a.active{background:#173a64;color:#fff}.jcbo-main{padding:30px;max-width:1500px;width:100%}.jcbo-hero{background:linear-gradient(135deg,#0b2b53,#1769e0);color:#fff;border-radius:20px;padding:28px;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:0 14px 34px rgba(23,105,224,.18)}.jcbo-hero h1{margin:0 0 8px;font-size:28px}.jcbo-hero p{margin:0;color:#dceaff}.jcbo-badge{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:10px 14px;border-radius:999px;white-space:nowrap}.jcbo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:22px}.jcbo-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 8px 20px rgba(12,38,70,.06)}.jcbo-card h3{margin:0 0 8px;font-size:16px}.jcbo-card .num{font-size:30px;font-weight:800;color:#0b2b53}.jcbo-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.jcbo-action{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;transition:.2s}.jcbo-action:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(12,38,70,.1)}.jcbo-action strong{display:block;font-size:17px;margin-bottom:7px}.jcbo-action span{color:#60758d;font-size:14px}.jcbo-login-wrap{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at top right,#1f78e8 0,#0b2b53 38%,#06162b 100%)}.jcbo-login-card{width:min(440px,100%);background:rgba(255,255,255,.98);border-radius:22px;padding:34px;box-shadow:0 25px 70px rgba(0,0,0,.28)}.jcbo-login-card h1{margin:12px 0 8px}.jcbo-login-card p{color:#61758b}.jcbo-login-card input{width:100%;padding:13px;border:1px solid #cdd9e5;border-radius:10px}.jcbo-login-card .button{width:100%;padding:13px;border:0;border-radius:10px;background:#1769e0;color:#fff;font-weight:700}.jcbo-footer{text-align:center;color:#71849a;font-size:13px;padding:28px}@media(max-width:980px){.jcbo-layout{grid-template-columns:1fr}.jcbo-side{display:none}.jcbo-grid{grid-template-columns:repeat(2,1fr)}.jcbo-actions{grid-template-columns:1fr}}@media(max-width:560px){.jcbo-main{padding:18px}.jcbo-grid{grid-template-columns:1fr}.jcbo-hero{align-items:flex-start;flex-direction:column}.jcbo-topbar{padding:0 16px}.jcbo-brand small{display:none}}

.jcbo-eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:#8fdfff!important;margin-bottom:8px!important}.jcbo-logout{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:8px 12px;border-radius:9px}.jcbo-login-note{font-size:12px}.jcbo-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.jcbo-metric{display:flex;align-items:center;gap:16px;position:relative;overflow:hidden}.jcbo-metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#1769e0}.jcbo-metric.chat:before{background:#7b55d9}.jcbo-metric.phone:before{background:#18a36c}.jcbo-metric.email:before{background:#df8b19}.jcbo-metric-icon{width:52px;height:52px;border-radius:15px;background:#eaf2ff;display:grid;place-items:center;font-size:24px}.jcbo-metric.chat .jcbo-metric-icon{background:#f0ebff}.jcbo-metric.phone .jcbo-metric-icon{background:#e8f8f1}.jcbo-metric.email .jcbo-metric-icon{background:#fff3df}.jcbo-metric h3{margin:0}.jcbo-metric .num{line-height:1.05;margin:5px 0}.jcbo-metric .num small{font-size:14px;margin-left:3px}.jcbo-metric span{font-size:12px;color:#71849a}.jcbo-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--border);border-radius:16px;margin-top:18px;overflow:hidden}.jcbo-summary div{padding:17px 22px;border-right:1px solid var(--border);display:flex;align-items:baseline;gap:10px}.jcbo-summary div:last-child{border-right:0}.jcbo-summary strong{font-size:25px;color:#0b2b53}.jcbo-summary span{color:#667b92;font-size:13px}.jcbo-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.jcbo-action.primary{background:linear-gradient(135deg,#0b2b53,#1769e0);color:#fff;border:0}.jcbo-action.primary span{color:#dceaff}.jcbo-recent{background:#fff;border:1px solid var(--border);border-radius:16px;margin-top:22px;padding:20px}.jcbo-section-head{display:flex;justify-content:space-between;align-items:center}.jcbo-section-head h2{margin:0;font-size:19px}.jcbo-section-head a{color:#1769e0;font-size:13px}.jcbo-table-wrap{overflow:auto;margin-top:14px}.jcbo-recent table{width:100%;border-collapse:collapse}.jcbo-recent th,.jcbo-recent td{text-align:left;padding:13px 10px;border-bottom:1px solid #e7edf4;font-size:13px}.jcbo-recent th{color:#6f8297;font-weight:600}.jcbo-recent td a strong,.jcbo-recent td a small{display:block}.jcbo-recent td a small{color:#7b8da0;margin-top:3px}.jcbo-channel,.jcbo-status{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#edf3fa}.jcbo-channel.chat{background:#f0ebff;color:#6540c6}.jcbo-channel.phone{background:#e8f8f1;color:#087b4d}.jcbo-channel.email{background:#fff3df;color:#a65d00}.jcbo-status.new{background:#ffe8e8;color:#bd3030}.jcbo-status.active{background:#eaf2ff;color:#1769e0}.jcbo-status.waiting{background:#fff3df;color:#9c620f}.jcbo-status.resolved{background:#e8f8f1;color:#087b4d}@media(max-width:1100px){.jcbo-metric-grid,.jcbo-actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.jcbo-metric-grid,.jcbo-actions,.jcbo-summary{grid-template-columns:1fr}.jcbo-summary div{border-right:0;border-bottom:1px solid var(--border)}.jcbo-summary div:last-child{border-bottom:0}.jcbo-user span{display:none}}

/* v1.3.0 business information dashboard */
.jcbo-clock-panel{margin-top:18px;background:#071a33;color:#fff;border-radius:16px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 20px rgba(7,26,51,.12)}.jcbo-clock-panel>div{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.jcbo-clock-label{font-size:11px;letter-spacing:.13em;color:#8fdfff}.jcbo-clock-panel strong{font-size:34px;font-variant-numeric:tabular-nums}.jcbo-clock-panel small{color:#c8d8ea}.jcbo-clock-zone{font-size:12px;color:#9eb4ca}.jcbo-business-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);gap:20px;margin-top:22px}.jcbo-calendar-panel,.jcbo-upcoming,.jcbo-memo-panel{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 8px 20px rgba(12,38,70,.05)}.jcbo-section-head p{margin:5px 0 0;color:#74879b;font-size:12px}.jcbo-small-button,.jcbo-memo-actions button{border:0;background:#1769e0;color:#fff;padding:9px 13px;border-radius:9px;font-weight:700;cursor:pointer}.jcbo-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);margin-top:16px;border-top:1px solid var(--border);border-left:1px solid var(--border)}.jcbo-cal-head{padding:8px;text-align:center;background:#f3f7fb;border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-size:12px;font-weight:700}.jcbo-cal-day{min-height:105px;padding:7px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;overflow:hidden}.jcbo-cal-day.empty{background:#f8fafc}.jcbo-cal-day.today{background:#eef6ff;box-shadow:inset 0 0 0 2px #1769e0}.jcbo-day-num{display:block;font-size:12px;font-weight:800;margin-bottom:5px}.jcbo-cal-event{display:block;padding:4px 5px;margin-top:4px;border-radius:5px;background:#eaf2ff;color:#185cab;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jcbo-cal-event.call{background:#f0ebff;color:#6741c4}.jcbo-cal-event.visit{background:#e8f8f1;color:#087b4d}.jcbo-cal-event.deadline{background:#ffe8e8;color:#b92d2d}.jcbo-upcoming{margin-bottom:20px}.jcbo-upcoming-list{margin-top:12px}.jcbo-upcoming-list>a{display:flex;gap:13px;padding:11px 0;border-bottom:1px solid #e7edf4}.jcbo-upcoming-list>a:last-child{border-bottom:0}.jcbo-upcoming time{min-width:76px;font-size:11px;color:#64798e}.jcbo-upcoming time b{display:block;font-size:14px;color:#1769e0;margin-top:4px}.jcbo-upcoming span strong,.jcbo-upcoming span small{display:block}.jcbo-upcoming span strong{font-size:13px}.jcbo-upcoming span small{font-size:11px;color:#7d8fa2;margin-top:4px}.jcbo-empty{color:#7b8da0;font-size:13px}.jcbo-memo-panel textarea{width:100%;min-height:220px;margin-top:14px;padding:14px;border:1px solid #cedae7;border-radius:10px;resize:vertical;font:inherit;line-height:1.7}.jcbo-memo-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.jcbo-memo-actions span,#jcbo-memo-status{font-size:11px;color:#71849a}@media(max-width:1150px){.jcbo-business-grid{grid-template-columns:1fr}}@media(max-width:700px){.jcbo-clock-panel{align-items:flex-start;flex-direction:column;gap:8px}.jcbo-clock-panel>div{gap:8px}.jcbo-clock-panel strong{font-size:27px}.jcbo-cal-day{min-height:78px;padding:4px}.jcbo-cal-event{font-size:0}.jcbo-cal-event b{font-size:9px}.jcbo-calendar-panel{padding:12px}.jcbo-small-button{font-size:11px}}

/* v1.4.0 interactive calendar and contact timeline */
.jcbo-cal-day.jcbo-date-click{cursor:pointer;transition:background .15s,box-shadow .15s}.jcbo-cal-day.jcbo-date-click:hover{background:#f1f7ff;box-shadow:inset 0 0 0 2px #72a8ef}.jcbo-day-num{display:flex;justify-content:space-between;align-items:center}.jcbo-day-num em{font-style:normal;font-size:14px;color:#1769e0;opacity:0}.jcbo-cal-day:hover .jcbo-day-num em{opacity:1}.jcbo-cal-event.contact-inquiry,.jcbo-cal-event.contact-chat,.jcbo-cal-event.contact-phone,.jcbo-cal-event.contact-email{background:#fff2df;color:#9a5200;border-left:3px solid #ed9b2d}.jcbo-cal-event.contact-chat{background:#e9f8f1;color:#08734a;border-left-color:#16a06c}.jcbo-cal-event.contact-phone{background:#f2ecff;color:#6741c4;border-left-color:#8b5cf6}.jcbo-cal-event.contact-email{background:#fff0f3;color:#a61e4d;border-left-color:#e64980}.jcbo-calendar-legend{display:flex;gap:18px;margin:12px 0 0;font-size:11px;color:#63788d}.jcbo-calendar-legend .schedule{color:#1769e0}.jcbo-calendar-legend .contact{color:#d97706}.jcbo-modal{display:none;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;padding:18px}.jcbo-modal.open{display:flex}.jcbo-modal-backdrop{position:absolute;inset:0;background:rgba(4,17,34,.65)}.jcbo-modal-card{position:relative;width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 22px 70px rgba(0,0,0,.28)}.jcbo-modal-card h2{margin:0 0 18px}.jcbo-modal-close{position:absolute;right:14px;top:12px;border:0;background:#eef3f8;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}.jcbo-modal-card label{display:block;font-size:12px;font-weight:700;margin:12px 0}.jcbo-modal-card input,.jcbo-modal-card select,.jcbo-modal-card textarea{box-sizing:border-box;width:100%;margin-top:6px;border:1px solid #cbd7e4;border-radius:9px;padding:10px;font:inherit}.jcbo-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.jcbo-modal-actions{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.jcbo-modal-actions span{font-size:12px;color:#53708e}.jcbo-modal-actions button{border:0;border-radius:9px;padding:11px 18px;background:#1769e0;color:#fff;font-weight:800;cursor:pointer}@media(max-width:600px){.jcbo-form-row{grid-template-columns:1fr}.jcbo-modal-card{padding:20px 16px}.jcbo-cal-day{min-height:86px}}

/* v1.5.0 visual refinement */
body{background:linear-gradient(180deg,#e9eff6 0,#f5f8fb 100%)}
.jcbo-main{padding:34px 38px 50px}.jcbo-topbar{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)}
.jcbo-side{background:linear-gradient(180deg,#081b34,#0e294b);box-shadow:8px 0 28px rgba(4,20,40,.08)}
.jcbo-side a{border:1px solid transparent}.jcbo-side a:hover,.jcbo-side a.active{border-color:rgba(255,255,255,.08);box-shadow:0 8px 22px rgba(0,0,0,.14)}
.jcbo-hero{position:relative;overflow:hidden;padding:34px 36px;background:linear-gradient(125deg,#061a34 0,#0d3f77 45%,#1689db 100%)}
.jcbo-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-90px;top:-170px;background:rgba(255,255,255,.09)}
.jcbo-card,.jcbo-action,.jcbo-recent,.jcbo-calendar-panel,.jcbo-upcoming,.jcbo-memo-panel{box-shadow:0 12px 34px rgba(17,45,78,.07);border-color:rgba(167,188,210,.48)}
.jcbo-metric{min-height:126px}.jcbo-metric .num{font-size:34px}.jcbo-action{min-height:120px;display:flex;flex-direction:column;justify-content:center}
.jcbo-section-head p{margin:5px 0 0;color:#71849a;font-size:13px}.jcbo-recent-pro{padding:24px}.jcbo-contact-feed{display:grid;gap:12px;margin-top:18px}
.jcbo-contact-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px;border:1px solid #e1e9f1;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfdff);transition:.18s}
.jcbo-contact-item:hover{transform:translateY(-1px);border-color:#b8d2ef;box-shadow:0 10px 24px rgba(24,68,116,.08)}
.jcbo-contact-time{width:62px;height:62px;border-radius:15px;background:#edf4fc;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#0d3f77}.jcbo-contact-time strong{font-size:17px}.jcbo-contact-time span{font-size:12px;margin-top:2px}
.jcbo-contact-tags{display:flex;gap:7px;margin-bottom:6px}.jcbo-contact-title{display:inline-block;font-size:16px;font-weight:800;color:#102d4d;margin-bottom:6px}.jcbo-contact-person{display:flex;gap:9px;align-items:center;font-size:13px}.jcbo-contact-person strong{color:#294d71}.jcbo-contact-person span{color:#75899e}
.jcbo-contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:7px}.jcbo-contact-links a{font-size:12px;color:#1769e0}.jcbo-contact-body p{margin:8px 0 0;color:#667b92;font-size:13px;line-height:1.6}.jcbo-contact-open{padding:9px 12px;border-radius:9px;background:#edf4fc;color:#1769e0;font-size:12px;font-weight:700;white-space:nowrap}.jcbo-empty-state{padding:36px;text-align:center;color:#73869a;background:#f7f9fc;border-radius:14px}
@media(max-width:760px){.jcbo-main{padding:18px}.jcbo-contact-item{grid-template-columns:58px 1fr}.jcbo-contact-open{grid-column:2;justify-self:start}.jcbo-contact-time{width:52px;height:52px}.jcbo-user span{display:none}}
