:root{--bg:#f7f8fc;--panel:#fff;--ink:#0b1639;--text:#3f4a63;--text-sub:#6b7692;--border:#e6eaf3;--accent:#3164ff;--accent-hover:#2450d8;--accent-soft:#eef3ff;--grad:linear-gradient(135deg, #45d4ff, #3164ff);--ok:#15803d;--ok-soft:#ecfdf3;--warn:#b45309;--warn-soft:#fffbeb;--danger:#b91c1c;--danger-soft:#fef2f2;--draft:#8a93a3;--sans:"Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;--radius:16px;--shadow:0 4px 20px #0b16390f}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);background:var(--bg);color:var(--text);font-size:14px;line-height:1.6}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;align-items:center;gap:14px;height:56px;padding:0 20px;display:flex}.topbar .brand{padding:0;font-size:16px}.topbar-note{color:#98a2b8;font-size:11.5px}.app{flex:1;min-height:0;display:flex}.sidebar{width:210px;color:var(--text);border-right:1px solid var(--border);background:#fff;flex-direction:column;flex-shrink:0;gap:4px;padding:18px 12px;display:flex}.brand{color:var(--ink);align-items:center;gap:9px;padding:4px 10px 20px;font-size:16px;font-weight:800;display:flex}.brand-mark{background:var(--grad);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:inline-flex}.sidebar a{color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:9px 14px;font-size:13.5px;font-weight:600;text-decoration:none;display:flex}.sidebar a svg{color:#8a94ad;flex-shrink:0}.sidebar a.active svg{color:var(--accent)}.sidebar a:hover{background:#f2f4fa}.sidebar a.active{background:var(--accent-soft);color:var(--accent)}.main{flex:1;min-width:0;max-width:1400px;padding:24px 28px}.hello{align-items:center;gap:10px;display:flex}.hello-wave{font-size:26px}.action-row{flex-wrap:wrap;gap:12px;margin:16px 0 20px;display:flex}.action-card{border:1px solid var(--border);cursor:pointer;text-align:left;min-width:180px;box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;transition:border-color .12s,transform .12s;display:flex}.action-card:hover{border-color:var(--accent);color:inherit;background:#fff;transform:translateY(-1px)}.action-icon{border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:4px;display:inline-flex}.action-label{color:var(--ink);font-size:13.5px;font-weight:700}.action-desc{color:var(--text-sub);font-size:11.5px;font-weight:400}.search{background:#f2f4fa;border:1px solid #0000;border-radius:999px;max-width:320px;padding:7px 16px}.search:focus{background:#fff}.dash-grid{align-items:flex-start;gap:16px;display:flex}.dash-side{flex-shrink:0;width:290px}.note-title{align-items:center;gap:8px;display:flex}.note-icon{color:#22b573;flex-shrink:0;display:inline-flex}.note-title a{color:var(--ink);font-weight:600;text-decoration:none}.note-title a:hover{color:var(--accent)}h1{color:var(--ink);margin:0 0 4px;font-size:22px;font-weight:800}h2{color:var(--ink);margin:0 0 10px;font-size:15px;font-weight:700}.page-sub{color:var(--text-sub);margin-bottom:20px;font-size:13px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:18px 20px}.row{flex-wrap:wrap;gap:16px;display:flex}.row>.card{flex:1;min-width:260px}button{font-family:var(--sans);border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:600;transition:background .12s,color .12s,border-color .12s}button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}button.danger{color:var(--danger)}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{font-family:var(--sans);border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:8px 12px;font-size:13.5px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}textarea{resize:vertical}label.field{color:var(--text-sub);margin-bottom:12px;font-size:12.5px;display:block}label.field>span{margin-bottom:4px;font-weight:600;display:block}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}th{color:var(--text-sub);font-size:12px;font-weight:600}.badge{white-space:nowrap;border:1px solid #0000;border-radius:99px;padding:1px 8px;font-size:11.5px;display:inline-block}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-muted{color:var(--text-sub);background:#f1f3f6}.muted{color:var(--text-sub);font-size:12.5px}.live{background:#fafbfc;flex-direction:column;height:100vh;display:flex}.live-topbar{border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;align-items:center;gap:14px;padding:8px 16px;display:flex}.rec-dot{background:#d43c3c;border-radius:50%;width:10px;height:10px;display:inline-block}.rec-dot.paused{background:#b0b7c3}.level-meter{background:#edf0f4;border-radius:4px;width:70px;height:8px;overflow:hidden}.level-meter>div{background:var(--ok);height:100%;transition:width .12s linear}.live-body{flex:1;min-height:0;display:flex}.live-left{border-right:1px solid var(--border);flex-direction:column;flex:7;min-width:0;display:flex}.transcript{flex:1;padding:14px 18px;overflow-y:auto}.utt{gap:10px;margin-bottom:10px;display:flex}.utt-time{color:#a3abb8;min-width:40px;padding-top:3px;font-size:11px}.utt-speaker{cursor:pointer;min-width:52px;padding-top:2px;font-size:11.5px;font-weight:700}.utt-speaker.staff{color:var(--accent)}.utt-speaker.customer{color:#0f766e}.utt-speaker.unknown{color:var(--warn)}.utt-text{flex:1}.utt.interim .utt-text{color:#9aa2b0}.live-right{background:#f7f8fa;flex-direction:column;flex:3;min-width:300px;max-width:420px;display:flex;overflow-y:auto}.panel-section{border-bottom:1px solid var(--border);padding:12px 14px}.panel-section h3{color:var(--text-sub);letter-spacing:.02em;margin:0 0 8px;font-size:12px;font-weight:600}.draft-q{color:var(--draft);border:1px dashed var(--border);background:#fff;border-radius:12px;margin-bottom:6px;padding:6px 12px;font-size:12.5px}.formal-q{border:1px solid var(--border);border-left:3px solid var(--accent);box-shadow:var(--shadow);background:#fff;border-radius:12px;margin-bottom:8px;padding:10px 14px}.formal-q.pinned{border-left-color:var(--warn)}.formal-q .q-text{color:var(--ink);margin-bottom:4px;font-size:13.5px;font-weight:700}.formal-q .q-reason{color:var(--text-sub);margin-bottom:8px;font-size:11.5px}.formal-q .q-actions{gap:6px;display:flex}.formal-q .q-actions button{padding:3px 9px;font-size:11.5px}.item-row{align-items:center;gap:8px;padding:3px 0;font-size:12.5px;display:flex}.item-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.item-dot.confirmed{background:var(--ok)}.item-dot.partial{background:#eab308}.item-dot.unconfirmed{background:#cdd3dc}.live-footer{border-top:1px solid var(--border);background:#fff;flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;display:flex}.kbd{border:1px solid var(--border);color:var(--text-sub);background:#f7f8fa;border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:11px;display:inline-block}.quiet-notice{background:var(--warn-soft);color:var(--warn);border:1px solid #fde68a;border-radius:8px;margin:8px 14px 0;padding:6px 10px;font-size:12px}.turn-state{color:var(--text-sub);font-size:11.5px}.score-gauge{align-items:center;gap:20px;display:flex}.improvement{background:var(--accent-soft);border-radius:8px;margin-bottom:8px;padding:10px 12px;font-size:13px}.timeline-event{border-bottom:1px dashed var(--border);cursor:pointer;align-items:baseline;gap:10px;padding:5px 0;font-size:12.5px;display:flex}.timeline-event:hover{background:var(--accent-soft)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex}.tabs button{background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:8px 14px}.tabs button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.doc-preview{border:1px solid var(--border);border-radius:var(--radius);background:#fff;max-width:800px;padding:24px 28px}.mini-panel{height:100vh;font-family:var(--sans);color:var(--text);background:#f7f8fa;flex-direction:column;font-size:13px;display:flex;overflow-y:auto}.mini-header{border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex;position:sticky;top:0}.mini-section{border-bottom:1px solid var(--border);padding:8px 10px}.mini-q .q-text{font-size:12.5px}.doc-preview h2{border-bottom:1px solid var(--border);margin-top:20px;padding-bottom:4px}.bottomnav{display:none}@media (width<=768px){.sidebar{display:none}.bottomnav{z-index:50;border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#fff;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav a{color:#8a94ad;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 0;font-size:10.5px;font-weight:600;text-decoration:none;display:flex}.bottomnav a.active{color:var(--accent)}.topbar{height:48px;padding:0 14px}.topbar-note{display:none}.main{padding:14px 14px 84px}h1{font-size:19px}input,select,textarea{font-size:16px}button{padding:9px 16px}.action-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.action-card{min-width:0}.dash-grid{flex-direction:column;align-items:stretch}.dash-side{width:100%}.search{flex:1;max-width:none}.card{padding:14px;overflow-x:auto}.card table{min-width:560px}.live-body{flex-direction:column}.live-right{border-bottom:1px solid var(--border);order:-1;width:100%;max-width:none;max-height:44vh}.live-left{border-right:none;flex:1;min-height:0}.live-topbar{flex-wrap:wrap;gap:8px;padding:8px 10px}.live-topbar select{font-size:13px}.live-footer{padding:8px 10px calc(8px + env(safe-area-inset-bottom));flex-wrap:wrap}.live-footer .muted,.kbd{display:none}.transcript{padding:10px 12px}.doc-preview{padding:16px}}.doc-block{margin:6px 0;font-size:13.5px}.evidence{color:var(--text-sub);font-size:11.5px}
