:root{color:#1f2328;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;letter-spacing:0;background:#f4f5f7;font-family:Inter,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:#f4f5f7;min-width:1100px;margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.login-screen{background:linear-gradient(#ffffffeb,#f4f5f7f5),repeating-linear-gradient(90deg,#eceff3 0 1px,#0000 1px 48px);place-items:center;min-height:100vh;padding:48px 24px;display:grid}.login-panel{background:#fff;border:1px solid #d8dde4;border-radius:8px;width:min(440px,100%);padding:40px;box-shadow:0 18px 48px #1f232814}.login-logo{align-items:center;gap:12px;margin-bottom:26px;display:flex}.login-logo strong{font-size:22px}.login-panel h1{margin-bottom:28px;font-size:24px;line-height:1.35}.brand-mark{color:#fff;background:#15171a;border-radius:8px;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:inline-grid}.brand-mark--large{width:44px;height:44px;font-size:15px}.form-field{color:#4b5563;gap:8px;margin-bottom:18px;font-size:13px;font-weight:700;display:grid}.form-field input,.search-field input,.chat-form input{color:#1f2328;background:#fff;border:1px solid #cfd6df;border-radius:6px;outline:none;width:100%;transition:border-color .16s,box-shadow .16s}.form-field input{height:44px;padding:0 12px}.form-field input:focus,.search-field input:focus,.chat-form input:focus{border-color:#23262b;box-shadow:0 0 0 3px #1f23281a}.checkbox-row{color:#374151;align-items:center;gap:9px;margin:4px 0 24px;font-size:13px;display:flex}.app-shell{min-width:1100px;min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #dce1e8;flex:0 0 286px;width:286px;min-height:100vh;max-height:100vh;padding:22px 18px;position:sticky;top:0;overflow-y:auto}.sidebar__brand{border-bottom:1px solid #edf0f3;align-items:center;gap:12px;padding:4px 6px 22px;display:flex}.sidebar__brand strong,.sidebar__brand span{display:block}.sidebar__brand strong{font-size:16px}.sidebar__brand span{color:#6b7280;margin-top:4px;font-size:12px}.sidebar__nav{gap:20px;padding-top:22px;display:grid}.nav-section,.nav-group{gap:6px;display:grid}.nav-section__title,.nav-group__title{color:#6b7280;font-size:12px;font-weight:800}.nav-section__title{padding:0 8px 4px}.nav-group{background:#fafbfc;border:1px solid #edf0f3;border-radius:8px;margin-top:6px;padding:10px 8px}.nav-group__title{color:#374151;margin-bottom:2px}.nav-link{color:#3f4650;border-radius:6px;align-items:center;min-height:34px;padding:8px 10px;font-size:13px;font-weight:700;line-height:1.2;transition:background-color .16s,color .16s;display:flex}.nav-link:hover,.nav-link.active{color:#fff;background:#15171a}.nav-link--child{min-height:30px;padding-left:14px;font-size:12px;font-weight:650}.app-shell__content{flex:1;min-width:0}.app-header{background:#fff;border-bottom:1px solid #dce1e8;justify-content:space-between;align-items:center;gap:24px;min-height:70px;padding:0 34px;display:flex}.app-header__eyebrow{color:#6b7280;margin-bottom:3px;font-size:11px;font-weight:800;display:block}.app-header__title{font-size:18px}.app-header__right{align-items:center;gap:12px;display:flex}.demo-label,.user-chip{white-space:nowrap;border-radius:999px;align-items:center;min-height:30px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.demo-label{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe}.user-chip{color:#374151;background:#f9fafb;border:1px solid #d1d5db}.page-container{padding:30px 34px 44px}.page-stack{gap:22px;display:grid}.page-title{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.page-title--with-actions{align-items:center}.page-title h1{color:#15171a;font-size:26px;line-height:1.35}.page-title__caption{color:#6b7280;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.page-title__sub{color:#6b7280;margin-top:8px;font-size:13px}.panel{background:#fff;border:1px solid #dce1e8;border-radius:8px;padding:20px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-heading h2{color:#1f2328;font-size:16px;line-height:1.35}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.chart-panel{min-height:300px}.bar-chart{grid-template-columns:repeat(auto-fit,minmax(52px,1fr));align-items:end;gap:12px;height:224px;display:grid}.bar-chart__item{text-align:center;grid-template-rows:1fr auto auto;gap:7px;min-width:0;height:100%;display:grid}.bar-chart__track{background:#f0f2f5;border-radius:6px;align-items:flex-end;min-height:0;display:flex;overflow:hidden}.bar-chart__bar{background:#24272d;border-radius:6px 6px 0 0;width:100%}.bar-chart__label,.bar-chart__value{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.bar-chart__value{color:#374151;font-weight:800}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stats-grid--wide{grid-template-columns:repeat(7,minmax(0,1fr))}.stat-card{background:#fff;border:1px solid #dce1e8;border-radius:8px;align-content:center;gap:8px;min-height:112px;padding:18px;display:grid}.stat-card__label{color:#6b7280;font-size:12px;font-weight:800}.stat-card__value{color:#15171a;font-size:24px;line-height:1.2}.stat-card__sub{color:#6b7280;font-size:12px}.two-column,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.table-wrap{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.data-table th,.data-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e6eaf0;padding:12px 13px}.data-table th{color:#4b5563;white-space:nowrap;background:#f7f8fa;font-size:12px;font-weight:800}.data-table tr:last-child td{border-bottom:0}.empty-cell{color:#6b7280;text-align:center}.status-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:3px 9px;font-size:12px;font-weight:800;display:inline-flex}.status-badge--green{color:#166534;background:#ecfdf3;border-color:#bbf7d0}.status-badge--red{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.status-badge--gray{color:#4b5563;background:#f3f4f6;border-color:#d1d5db}.status-badge--amber{color:#92400e;background:#fffbeb;border-color:#fde68a}.button{color:#1f2328;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cfd6df;border-radius:6px;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-weight:800;line-height:1.2;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.button:hover{background:#f6f7f9;border-color:#15171a}.button--primary{color:#fff;background:#15171a;border-color:#15171a}.button--primary:hover{background:#2d3138;border-color:#2d3138}.button--danger{color:#fff;background:#b91c1c;border-color:#b91c1c}.button--danger:hover{background:#991b1b;border-color:#991b1b}.button--small{min-height:30px;padding:0 10px;font-size:12px}.button--block{width:100%}.action-row,.center-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.action-row--end{justify-content:flex-end;margin-top:20px}.center-actions{justify-content:center;margin-top:20px}.search-field{color:#4b5563;gap:6px;width:280px;font-size:12px;font-weight:800;display:grid}.search-field input{height:38px;padding:0 11px}.notice-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.notice-list li{color:#374151;background:#fafbfc;border:1px solid #e3e7ee;border-radius:6px;padding:12px 14px;font-size:13px}.detail-grid,.compact-detail{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;display:grid}.detail-grid div,.compact-detail div{background:#fbfcfd;border:1px solid #e3e7ee;border-radius:6px;min-width:0;padding:14px}.detail-grid dt,.compact-detail dt{color:#6b7280;margin-bottom:7px;font-size:12px;font-weight:800}.detail-grid dd,.compact-detail dd{color:#1f2328;overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;font-weight:700}.compact-detail{grid-template-columns:1fr}.success-message{color:#166534;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:11px 14px;font-size:14px;font-weight:800;display:flex}.product-thumb{color:#374151;background:linear-gradient(135deg,#fff 0%,#f2f4f7 100%),#f6f7f9;border:1px solid #d8dde4;border-radius:6px;place-items:center;width:54px;height:54px;font-weight:900;display:inline-grid}.message-layout{grid-template-columns:minmax(420px,.95fr) minmax(430px,1.05fr);align-items:start;gap:18px;display:grid}.message-side{gap:18px;min-width:0;display:grid}.phone-panel{background:#e8f1ec;border:1px solid #dce1e8;border-radius:8px;grid-template-rows:auto minmax(480px,1fr) auto;min-width:0;min-height:640px;display:grid;overflow:hidden}.message-side .panel{min-width:0}.message-side .data-table{min-width:520px}.phone-header{background:#fff;border-bottom:1px solid #dce1e8;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.phone-header span{color:#6b7280;font-size:12px;font-weight:800}.chat-list{align-content:end;gap:12px;padding:20px;display:grid;overflow-y:auto}.chat-row{display:flex}.chat-row--admin{justify-content:flex-end}.chat-row--customer{justify-content:flex-start}.chat-bubble{color:#1f2328;background:#fff;border-radius:8px;gap:6px;max-width:72%;padding:11px 13px;display:grid;box-shadow:0 1px 2px #1f232814}.chat-row--admin .chat-bubble{color:#052e16;background:#7ad06d}.chat-bubble p{font-size:14px;line-height:1.55}.chat-bubble span{opacity:.74;justify-self:end;font-size:11px}.chat-form{background:#fff;border-top:1px solid #dce1e8;grid-template-columns:1fr auto;gap:10px;padding:14px;display:grid}.chat-form input{height:40px;padding:0 12px}.form-panel{max-width:680px}.settings-form{gap:4px;display:grid}.mono-text{color:#374151;font-family:Consolas,SFMono-Regular,monospace}@media (width<=1200px){body,.app-shell{min-width:1000px}.sidebar{flex-basis:250px;width:250px}.stats-grid--wide{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid,.message-layout{grid-template-columns:1fr}}
