:root { --ink:#20231f; --sub:#6f746d; --line:#e8eae3; --paper:#f7f7f3; --surface:#fff; --lime:#cbf465; --lime-deep:#35500b; --violet:#6955e7; --coral:#f68d74; --amber:#f0be58; --green:#83c889; --blue:#83afe7; --shadow:0 12px 40px rgba(31,37,26,.07); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; } body { margin:0; min-width:320px; background:var(--paper); } button,input,select { font:inherit; } button { cursor:pointer; } .skip-link { position:absolute; left:-9999px; }.skip-link:focus { left:16px; top:16px; z-index:10; background:#fff; padding:8px; }
.shell { display:grid; grid-template-columns:244px minmax(0,1fr); min-height:100vh; }.sidebar { background:#1e211d; color:#e9eee3; padding:26px 16px 18px; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; }.brand { color:#fff; text-decoration:none; display:flex; align-items:center; gap:10px; font-family:Georgia,serif; letter-spacing:.1em; font-size:20px; }.brand-mark { width:28px; height:28px; border:1px solid #d8f58c; color:#d8f58c; display:grid; place-items:center; border-radius:50%; font:16px/1 Georgia,serif; }.workspace-label { margin:34px 9px 12px; font-size:10px; letter-spacing:.12em; color:#8e948c; }.nav-list { display:grid; gap:4px; }.nav-item { text-align:left; border:0; background:transparent; color:#adb5ab; border-radius:8px; padding:12px 11px; font-size:14px; transition:.2s; }.nav-item span { display:inline-grid; width:25px; color:#b9c5a8; }.nav-item:hover { background:#2b302a; color:#fff; }.nav-item.active { color:#1d2811; background:var(--lime); font-weight:700; }.nav-item.active span { color:inherit; }.sidebar-footer { margin-top:auto; display:grid; gap:18px; }.theme-toggle { background:transparent; color:#b7bdb3; border:0; padding:8px; text-align:left; font-size:12px; }.user-chip { display:flex; align-items:center; gap:9px; border-top:1px solid #3a4038; padding:16px 7px 0; font-size:11px; }.user-chip strong,.user-chip small { display:block; }.user-chip small { color:#8e948c; margin-top:3px; }
.main { overflow-x:clip; }.topbar { height:68px; padding:0 42px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(255,255,255,.45); }.crumb { font-size:13px; color:var(--sub); display:flex; gap:9px; align-items:center; }.crumb strong { color:var(--ink); }.crumb b { color:#b4b7b0; }.topbar-actions { display:flex; align-items:center; gap:10px; }.icon-button { width:34px; height:34px; border:0; border-radius:50%; background:transparent; position:relative; color:#3c4039; font-size:20px; }.icon-button:hover { background:#e9ece5; }.icon-button i { position:absolute; right:5px; top:5px; width:6px; height:6px; border-radius:50%; background:var(--coral); }.share-button,.outline-button,.primary-button,.text-button { border-radius:7px; padding:9px 14px; font-size:12px; font-weight:700; }.share-button,.outline-button { background:transparent; border:1px solid #d9ddd5; color:var(--ink); }.primary-button { background:var(--ink); color:#fff; border:1px solid var(--ink); }.text-button { background:transparent; color:#657d25; border:0; padding-right:0; }.view { display:none; padding:42px; max-width:1520px; margin:auto; }.view.active { display:block; }.event-heading,.view-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }.eyebrow,.panel-kicker { margin:0 0 8px; color:#7c8772; font-size:10px; font-weight:800; letter-spacing:.12em; }.event-heading h1,.view-heading h1 { margin:0; font-family:Georgia,"Hiragino Mincho ProN",serif; font-weight:500; letter-spacing:-.035em; font-size:34px; }.event-meta,.view-heading>div>p:last-child { margin:9px 0 0; color:var(--sub); font-size:13px; }.status-stack { display:flex; align-items:center; gap:16px; padding-top:11px; }.status-pill { border-radius:999px; background:#e7f3cc; color:#446110; font-size:11px; padding:7px 12px; font-weight:700; }.countdown { color:#70776e; font-size:12px; }.countdown b { color:var(--ink); font-size:18px; margin:0 2px; }.command-bar { margin:32px 0 22px; background:#edf0e8; border-radius:11px; padding:17px 20px; display:grid; grid-template-columns:130px 1fr auto; align-items:center; gap:14px; }.progress-label { display:flex; align-items:end; gap:8px; font-size:12px; color:#6d746b; }.progress-label strong { font-size:17px; color:#31440d; }.progress-track { height:7px; background:#dae0d3; border-radius:9px; overflow:hidden; }.progress-track i { display:block; height:100%; width:68%; background:#99c83c; border-radius:9px; }.phase-list { display:flex; gap:15px; font-size:11px; color:#a0a69e; }.phase { position:relative; }.phase.complete { color:#516d1b; }.phase.current { color:#1e211d; font-weight:800; }.phase.current:after { content:""; position:absolute; height:3px; background:#a5d13e; left:0; right:0; bottom:-9px; border-radius:9px; }
.dashboard-grid { display:grid; grid-template-columns:1.1fr 1fr .9fr; grid-template-areas:"tasks timeline pulse" "activity activity pulse"; gap:18px; }.panel { background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); }.tasks-panel { grid-area:tasks; }.timeline-panel { grid-area:timeline; }.numbers-panel { grid-area:pulse; }.activity-panel { grid-area:activity; }.panel-header { display:flex; justify-content:space-between; align-items:flex-start; padding:22px 22px 10px; }.panel-header h2,.furniture h2,.plan-summary h2 { margin:0; font-size:16px; letter-spacing:-.02em; }.task-list,.activity-list { list-style:none; padding:0; margin:0; }.task-list li { display:flex; gap:12px; padding:14px 22px; align-items:flex-start; border-top:1px solid #eef0ec; }.task-check { flex:0 0 18px; height:18px; border-radius:50%; border:1.5px solid #c7cec1; background:#fff; margin-top:2px; }.task-list li.done .task-check { background:#9bc947; border-color:#9bc947; box-shadow:inset 0 0 0 4px white; }.task-list li.done b { text-decoration:line-through; color:#8a9088; }.task-body { flex:1; }.task-body b,.task-body small { display:block; }.task-body b { font-size:13px; font-weight:650; }.task-body small { margin-top:5px; font-size:11px; color:var(--sub); }.owner,.avatar { display:inline-grid; place-items:center; border-radius:50%; color:#fff; font-size:10px; font-weight:800; }.owner { width:23px; height:23px; }.amber { background:#dca830; }.violet { background:#7866e7; }.green { background:#69ac71; }.coral { background:#e97761; }.blue { background:#628fd0; }.avatar { width:31px; height:31px; }.avatar-small { width:29px; height:29px; background:#78985a; }.mini-timeline { padding:0 22px 14px; }.mini-timeline>div { display:grid; grid-template-columns:43px 15px 1fr; gap:9px; padding:11px 0; position:relative; }.mini-timeline>div:not(:last-child):after { content:""; position:absolute; width:1px; background:#d8ded2; height:24px; left:50px; top:30px; }.mini-timeline time { font-size:11px; color:#7e857c; font-variant-numeric:tabular-nums; }.timeline-dot { width:9px; height:9px; border:2px solid #9ab17d; border-radius:50%; background:#fff; margin-top:3px; z-index:1; }.timeline-dot.live { background:#bbec56; border-color:#9ac734; box-shadow:0 0 0 4px #edf6d7; }.mini-timeline p { margin:0; }.mini-timeline b,.mini-timeline small { display:block; }.mini-timeline b { font-size:12px; }.mini-timeline small { font-size:10px; color:var(--sub); margin-top:3px; }.live-badge { background:#fce1d9; color:#b75240; font-size:9px; letter-spacing:.1em; padding:5px 7px; border-radius:4px; font-weight:800; }.numbers { padding:5px 22px 20px; display:grid; }.numbers>div { padding:15px 0; border-bottom:1px solid #edf0ea; }.numbers>div:last-child { border-bottom:0; }.numbers b,.numbers span,.numbers small { display:block; }.numbers b { font:28px/1 Georgia,serif; letter-spacing:-.04em; }.numbers span { font-size:11px; color:var(--sub); margin:4px 0; }.numbers small { font-size:10px; color:#9ba198; }.numbers .positive { color:#5c9023; }.activity-list { padding:0 22px 12px; display:grid; grid-template-columns:repeat(3,1fr); }.activity-list li { display:flex; gap:10px; padding:11px 8px 9px 0; }.activity-list p { margin:0; }.activity-list b,.activity-list small { display:block; }.activity-list b { font-size:12px; font-weight:650; }.activity-list small { margin-top:4px; font-size:10px; color:var(--sub); }
.view-heading { margin-bottom:30px; }.view-actions { display:flex; gap:9px; padding-top:6px; }.table-panel { overflow:hidden; }.tt-head,.tt-row { display:grid; grid-template-columns:105px minmax(220px,1fr) 180px 95px 95px; align-items:center; gap:14px; }.tt-head { padding:13px 24px; background:#f3f5f0; font-size:10px; color:#7e857b; font-weight:800; letter-spacing:.08em; }.tt-row { padding:18px 24px; border-top:1px solid #edf0eb; }.tt-row time { font-size:13px; font-weight:700; line-height:1.35; font-variant-numeric:tabular-nums; }.tt-row time small { color:#989e95; font-weight:500; }.tt-row p { margin:0; }.tt-row p b,.tt-row p small { display:block; }.tt-row p b { font-size:13px; }.tt-row p small { color:var(--sub); font-size:11px; margin-top:4px; }.tag-group { display:flex; gap:5px; flex-wrap:wrap; }.tag-group span { background:#edf2e6; color:#596b40; border-radius:4px; padding:4px 6px; font-size:10px; }.assignees { display:flex; }.assignees .owner+.owner { margin-left:-5px; border:2px solid var(--surface); }.check-state { color:#9b6a17; background:#fff0cc; font-size:10px; border-radius:999px; padding:5px 8px; width:max-content; }.check-state.ready { color:#4a7b2a; background:#e1f2db; }
.floor-layout { display:grid; grid-template-columns:180px minmax(460px,1fr) 220px; gap:16px; }.furniture,.plan-summary { padding:20px; }.furniture h2,.plan-summary h2 { margin-bottom:16px; }.furniture button { display:block; width:100%; text-align:left; border:0; background:transparent; padding:10px 7px; color:#454c43; border-radius:5px; font-size:12px; }.furniture button:hover,.furniture button.selected { background:#eef5dc; color:#4e7613; }.furniture hr,.plan-summary hr { border:0; border-top:1px solid #ebede7; margin:18px 0; }.furniture label { display:block; font-size:11px; margin:10px 0; color:#626961; }.furniture input { accent-color:#83ae2c; }.canvas-panel { overflow:hidden; }.canvas-toolbar { padding:12px 14px; display:flex; justify-content:space-between; border-bottom:1px solid #ecefe8; color:#7a8278; font-size:11px; }.canvas-toolbar button { width:24px; height:23px; border:1px solid #dce1d9; background:#fff; }.floor-canvas { min-height:570px; padding:46px; background-color:#f8f9f6; background-image:radial-gradient(#d8ded4 1px,transparent 1px); background-size:15px 15px; }.venue-boundary { min-height:472px; border:2px solid #aeb9a7; background:rgba(255,255,255,.58); position:relative; }.venue-label { position:absolute; top:13px; left:17px; color:#778173; font-size:10px; letter-spacing:.1em; }.stage { position:absolute; top:43px; left:20%; width:60%; height:69px; background:#30372f; color:#e9f3dc; text-align:center; padding-top:15px; letter-spacing:.11em; font-size:13px; }.stage small { font-size:9px; color:#b8c4ad; letter-spacing:0; }.runway { position:absolute; width:19%; height:215px; left:40.5%; top:112px; background:linear-gradient(90deg,#d6dbd2,#f8faf6,#d6dbd2); border:1px solid #c2c9be; }.reception,.merch { position:absolute; bottom:25px; padding:11px; min-width:64px; text-align:center; border:1px solid #c9d0c4; background:#e9f0e5; color:#596851; font-size:11px; }.reception { left:32px; }.reception small { color:#84907e; font-size:8px; }.merch { right:32px; background:#f5ebd5; color:#816b3d; }.exit { position:absolute; color:#668a45; font-size:10px; font-weight:800; }.exit-top { top:150px; left:10px; }.exit-bottom { bottom:127px; right:7px; }.seats { position:absolute; display:grid; grid-template-columns:repeat(4,34px); gap:12px 28px; left:50%; transform:translateX(-50%); top:350px; }.seats span { width:34px; height:27px; display:grid; place-items:center; background:#8ca27c; color:#fff; border-radius:4px 4px 9px 9px; font-size:10px; }.dimension { position:absolute; color:#90a18c; font-size:9px; letter-spacing:.08em; }.dim-top { top:-22px; left:45%; }.dim-side { transform:rotate(-90deg); left:-48px; top:50%; }.plan-summary dl { margin:0; }.plan-summary dl div { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid #eef0eb; }.plan-summary dt { color:#737a71; font-size:11px; }.plan-summary dd { margin:0; font-size:12px; font-weight:700; }.note { font-size:11px; line-height:1.7; color:#737a71; }.note b { color:#a46c1d; }
.casting-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:17px; }.casting-metrics article { background:#edf2e8; border-radius:9px; padding:16px 19px; }.casting-metrics b,.casting-metrics span { display:block; }.casting-metrics b { font:26px Georgia,serif; }.casting-metrics span { margin-top:4px; color:#6d756b; font-size:11px; }.cast-toolbar { display:flex; justify-content:space-between; align-items:center; padding:16px 20px; border-bottom:1px solid #edf0eb; }.search { display:flex; align-items:center; gap:6px; color:#929991; background:#f5f6f3; padding:7px 10px; border-radius:6px; }.search input { border:0; outline:0; background:transparent; font-size:12px; width:190px; }.filter { background:transparent; border:0; color:#747b73; padding:6px 8px; font-size:11px; }.filter.active { color:#547b17; background:#ebf4d6; border-radius:5px; font-weight:800; }.cast-head,.cast-row { display:grid; grid-template-columns:minmax(210px,2fr) 1fr 1fr 1fr 60px; gap:10px; align-items:center; }.cast-head { background:#f3f5f0; padding:11px 20px; color:#7c8479; font-size:10px; font-weight:800; letter-spacing:.06em; }.cast-row { padding:12px 20px; border-top:1px solid #edf0eb; color:#555c53; font-size:12px; }.person { display:flex; align-items:center; gap:10px; }.portrait { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; color:#fff; font-size:10px; font-weight:800; }.p1 { background:#b8836d; }.p2 { background:#657b9d; }.p3 { background:#997eaf; }.p4 { background:#7d9e83; }.p5 { background:#959a8d; }.person p { margin:0; }.person b,.person small { display:block; }.person b { color:var(--ink); }.person small { margin-top:3px; color:#8c9389; font-size:10px; }.cast-status { width:max-content; padding:5px 8px; border-radius:999px; font-size:10px; font-weight:700; }.confirmed { background:#e0f0d9; color:#4d7b2c; }.review { background:#fff0cb; color:#99661b; }.pending { background:#ece9fb; color:#6652b6; }.asset-ok { color:#579132; }.asset-warn { color:#bd7a1f; }
dialog { border:0; border-radius:12px; box-shadow:0 20px 70px rgba(0,0,0,.2); width:min(420px,calc(100% - 32px)); padding:0; }.close-dialog { position:absolute; top:12px; right:14px; background:none; border:0; font-size:22px; color:#7e847c; }.close-dialog+ .eyebrow { margin-top:0; } dialog form { padding:28px; display:grid; gap:15px; } dialog h2 { margin:0 0 4px; } dialog label { display:grid; gap:6px; color:#687068; font-size:11px; font-weight:700; } dialog input,dialog select { border:1px solid #dce1d9; border-radius:6px; padding:10px; outline-color:#97bf3c; } dialog::backdrop { background:rgba(22,27,20,.35); }
.demo-notice { margin:0; color:#8a9188; font-size:10px; line-height:1.55; }.placed-furniture { position:absolute; display:grid; place-items:center; min-width:48px; min-height:28px; padding:4px 6px; background:#e7f0df; border:1px solid #9cad91; color:#52664a; font-size:9px; font-weight:800; box-shadow:0 3px 8px rgba(53,65,47,.12); }
body.dark { --ink:#edf1e9; --sub:#a3aaa0; --line:#363b35; --paper:#181b18; --surface:#242824; --shadow:0 12px 40px rgba(0,0,0,.15); }.dark .topbar { background:#1d201d; }.dark .icon-button,.dark .share-button,.dark .outline-button { color:var(--ink); }.dark .icon-button:hover { background:#30352f; }.dark .share-button,.dark .outline-button { border-color:#4a5148; }.dark .command-bar { background:#2d342a; }.dark .progress-track { background:#3e4739; }.dark .task-check { background:#242824; border-color:#626b5f; }.dark .tt-head,.dark .cast-head { background:#2a2f2a; }.dark .canvas-toolbar button { background:#30352f; color:#eef3e9; border-color:#505850; }.dark .floor-canvas { background-color:#242824; background-image:radial-gradient(#4b544a 1px,transparent 1px); }.dark .venue-boundary { background:rgba(35,39,35,.75); border-color:#6c7868; }.dark .search { background:#30352f; }.dark .floor-layout .panel,.dark .dashboard-grid .panel { box-shadow:none; }
@media (max-width:1050px) { .shell { grid-template-columns:76px 1fr; }.sidebar { padding:22px 10px; }.brand span:last-child,.workspace-label,.nav-item:not(.active)::after,.nav-item { font-size:0; }.brand { justify-content:center; }.nav-item { text-align:center; padding:13px; }.nav-item span { width:auto; font-size:19px; }.nav-item.active:after { content:""; }.user-chip span:last-child,.theme-toggle { display:none; }.user-chip { justify-content:center; }.dashboard-grid { grid-template-columns:1fr 1fr; grid-template-areas:"tasks timeline" "activity activity" "pulse pulse"; }.floor-layout { grid-template-columns:150px 1fr; }.plan-summary { display:none; } }
@media (max-width:700px) { .shell { display:block; }.sidebar { height:auto; position:static; padding:12px 16px; flex-direction:row; align-items:center; }.brand { margin-right:auto; }.nav-list { display:flex; gap:0; }.nav-item { padding:10px; }.sidebar-footer { display:none; }.topbar { height:58px; padding:0 18px; }.crumb span,.crumb b,.topbar-actions .icon-button { display:none; }.view { padding:25px 18px; }.event-heading,.view-heading,.cast-toolbar { display:block; }.status-stack,.view-actions { margin-top:18px; }.command-bar { grid-template-columns:1fr; }.phase-list { justify-content:space-between; gap:3px; }.dashboard-grid { display:block; }.dashboard-grid .panel { margin-bottom:14px; }.activity-list { grid-template-columns:1fr; }.tt-head { display:none; }.tt-row { grid-template-columns:70px 1fr 68px; }.tt-row .tag-group,.tt-row .assignees { display:none; }.floor-layout { display:block; }.furniture { display:none; }.floor-canvas { padding:32px 20px; min-height:450px; }.venue-boundary { min-height:375px; }.stage { top:35px; }.runway { height:157px; top:104px; }.seats { top:280px; grid-template-columns:repeat(4,27px); gap:8px 15px; }.seats span { width:27px; height:23px; }.casting-metrics { grid-template-columns:1fr 1fr; }.cast-head { display:none; }.cast-row { grid-template-columns:1fr 70px 85px; }.cast-row>span:nth-of-type(1),.cast-row>span:nth-of-type(3) { display:none; } }
@media print { @page { size:A4; margin:16mm 14mm; } .sidebar,.topbar,.view:not(.active),.view-actions,.furniture,.plan-summary { display:none!important; }.shell { display:block; }.main { overflow:visible; }.view { padding:0; max-width:none; }.panel { box-shadow:none; }.canvas-panel { border:0; }.floor-canvas { min-height:0; }.floor-layout { display:block; } body { background:#fff; } }

/* 音源ライブラリ: スカウト一覧と同じ「左コレクション / 中央リスト / 右詳細」 */
.music-heading { margin-bottom:20px; }.music-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:0 0 16px; }.music-kpis article { background:#eef3e7; border-left:3px solid #b9dd56; padding:13px 16px; }.music-kpis b,.music-kpis span { display:block; }.music-kpis b { font:24px/1 Georgia,serif; letter-spacing:-.03em; }.music-kpis span { margin-top:5px; color:#687167; font-size:10px; }.music-toolbar { display:flex; align-items:end; gap:10px; padding:13px 15px; border:1px solid var(--line); background:rgba(255,255,255,.62); }.music-toolbar>label:not(.search) { display:grid; gap:5px; color:#80887e; font-size:9px; font-weight:800; letter-spacing:.05em; }.music-toolbar select { min-height:31px; border:1px solid #dde2da; background:#fff; color:#465046; padding:0 7px; border-radius:5px; font-size:11px; }.music-toolbar .search { flex:1; min-width:180px; }.music-toolbar .search input { width:100%; }.music-filter-summary { min-height:30px; padding:9px 2px; color:#7b8379; font-size:10px; }.music-layout { display:grid; grid-template-columns:170px minmax(520px,1fr) 285px; gap:14px; align-items:start; }.music-collections { padding:13px 0; }.music-collections .panel-kicker { padding:0 9px; }.music-collection { display:flex; align-items:center; justify-content:space-between; width:100%; padding:10px 9px; color:#697168; border:0; background:transparent; text-align:left; font-size:11px; border-radius:6px; }.music-collection b { color:#969e93; font-size:10px; font-variant-numeric:tabular-nums; }.music-collection:hover { background:#edf2e7; color:#4b5e30; }.music-collection.active { background:#293028; color:#f5f8f0; }.music-collection.active b { color:#d4ef90; }.music-collections hr { margin:13px 9px; border:0; border-top:1px solid var(--line); }.music-list-panel { overflow:hidden; }.music-table-head,.music-row { display:grid; grid-template-columns:minmax(165px,1.6fr) 62px minmax(120px,1fr) 76px minmax(90px,.9fr); gap:9px; align-items:center; }.music-table-head { padding:11px 15px; background:#f2f5ee; color:#7a8378; font-size:9px; font-weight:800; letter-spacing:.08em; }.music-row { width:100%; text-align:left; padding:11px 15px; border:0; border-top:1px solid #edf0eb; background:transparent; color:#586057; font-size:11px; }.music-row:hover,.music-row.selected { background:#f3f8e9; }.music-row.selected { box-shadow:inset 3px 0 0 #9ac43b; }.music-identity b,.music-identity small { display:block; }.music-identity b { color:var(--ink); font-size:12px; }.music-identity small { margin-top:3px; color:#8a9288; font-size:10px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.score-chip { display:inline-block; width:max-content; border-radius:999px; padding:4px 7px; background:#e0f0d6; color:#4d7928; font-size:10px; font-weight:800; white-space:nowrap; }.score-chip.unrated { background:#efeee9; color:#81867f; }.music-tag-group { display:flex; gap:4px; flex-wrap:wrap; }.music-tag-group span { padding:3px 5px; background:#edf1eb; color:#64705f; font-size:9px; border-radius:3px; }.music-source { width:max-content; border-radius:999px; padding:4px 6px; background:#f3f0e7; color:#8e6d2c; font-size:9px; font-weight:700; }.music-source.used { background:#e2f0dc; color:#4e7c30; }.music-source.downloaded { background:#e9e7f7; color:#6554ae; }.music-usage { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#778176; font-size:10px; }.music-detail { position:sticky; top:18px; padding:18px; }.music-detail-head { display:flex; justify-content:space-between; gap:9px; align-items:start; }.music-detail h2 { margin:0; font-size:17px; letter-spacing:-.03em; }.music-detail-head>div>p:last-child { margin:5px 0 0; color:#778076; font-size:11px; }.music-detail-actions { display:flex; gap:7px; padding:15px 0; border-bottom:1px solid #edf0eb; }.detail-link,.cue-action { border:1px solid #d9e1d2; background:#f5f8f2; color:#58712b; padding:7px 8px; border-radius:5px; font-size:10px; font-weight:800; }.music-detail-section { padding:14px 0; border-bottom:1px solid #edf0eb; }.music-detail-section:last-child { border-bottom:0; }.music-detail-section .panel-kicker { margin:0; }.music-attribute-grid { display:grid; grid-template-columns:1fr 1fr; margin:7px 0 0; gap:0 12px; }.music-attribute-grid div { padding:8px 0; border-bottom:1px solid #f0f2ee; }.music-attribute-grid .wide { grid-column:1/-1; }.music-attribute-grid dt { color:#939a91; font-size:9px; }.music-attribute-grid dd { margin:4px 0 0; color:#4d564c; font-size:10px; }.section-line { display:flex; align-items:center; justify-content:space-between; }.section-line>span { color:#8b9388; font-size:10px; }.music-history { list-style:none; padding:0; margin:8px 0 0; }.music-history li { display:grid; grid-template-columns:68px 1fr; gap:7px; padding:8px 0; border-top:1px solid #f0f2ed; }.music-history li>span { color:#8c948a; font-size:9px; }.music-history p { margin:0; }.music-history b,.music-history small { display:block; }.music-history b { font-size:10px; color:#566052; }.music-history small { margin-top:3px; color:#8b9389; font-size:9px; }.music-history .empty-history { display:block; color:#8b9389; font-size:10px; }.cue-section>p { margin:8px 0; color:#677064; font-size:10px; line-height:1.5; }.cue-state { padding:4px 6px; border-radius:999px; background:#f0eee8; color:#777c76; font-size:9px!important; }.cue-state.in-cue { background:#e2f1d9; color:#4c7b2e; }.music-empty { padding:44px 18px; color:#7d857b; font-size:12px; line-height:1.6; }
.dark .music-toolbar { background:#222722; }.dark .music-toolbar select { color:var(--ink); background:#30362f; border-color:#4a5347; }.dark .music-kpis { color:#293022; }.dark .music-table-head { background:#2a3029; }.dark .music-row:hover,.dark .music-row.selected { background:#30392c; }.dark .music-tag-group span { background:#343b32; color:#c3ccb9; }.dark .music-detail-actions,.dark .music-detail-section,.dark .music-attribute-grid div,.dark .music-history li { border-color:#363c35; }.dark .music-attribute-grid dd,.dark .music-identity b { color:var(--ink); }.dark .detail-link,.dark .cue-action { background:#31392e; border-color:#4a5643; color:#c2e375; }
.dark .casting-metrics article { background:#30382e; }.dark .casting-metrics span { color:#b9c2b4; }.dark dialog { background:#252b25; color:var(--ink); }.dark dialog input,.dark dialog select { background:#30362f; border-color:#4a5347; color:var(--ink); }.dark .furniture button,.dark .furniture label,.dark .plan-summary dt,.dark .note { color:var(--sub); }.dark .furniture button:hover,.dark .furniture button.selected { color:#c9e979; background:#303a2b; }.dark .reception,.dark .merch { background:#303a2d; border-color:#5c6b56; color:#dce8d4; }.dark .merch { background:#3b3529; color:#f0d9a4; }
.dark .placed-furniture { background:#364230; border-color:#718564; color:#e5efdc; }
.dark .primary-button { background:var(--lime); border-color:var(--lime); color:#263017; }
@media (max-width:700px) { .music-kpis { grid-template-columns:1fr 1fr; }.music-toolbar { display:grid; grid-template-columns:1fr 1fr; align-items:end; }.music-toolbar .search { grid-column:1/-1; }.music-layout { display:block; }.music-collections { display:flex; overflow:auto; gap:5px; padding:0 0 12px; }.music-collections .panel-kicker,.music-collections hr { display:none; }.music-collection { width:auto; white-space:nowrap; gap:7px; flex:0 0 auto; background:#eef2e9; }.music-detail { position:static; margin-top:14px; }.music-table-head { display:none; }.music-row { grid-template-columns:1fr 60px 72px; }.music-row .music-tag-group,.music-row .music-usage { display:none; } }
@media (min-width:701px) and (max-width:1330px) { .music-layout { grid-template-columns:150px minmax(0,1fr); }.music-detail { grid-column:2; position:static; }.music-table-head,.music-row { grid-template-columns:minmax(0,1.4fr) 60px minmax(90px,.9fr) 70px; }.music-table-head span:last-child,.music-row .music-usage { display:none; } }
@media (min-width:701px) and (max-width:900px) { .tt-head { display:none; }.tt-row { grid-template-columns:70px minmax(0,1fr) 72px; }.tt-row .tag-group,.tt-row .assignees { display:none; } }
@media print { body { --ink:#20231f; --sub:#6f746d; --line:#e8eae3; --paper:#fff; --surface:#fff; color:#20231f; background:#fff; } .panel,.music-kpis article,.casting-metrics article,.command-bar { background:#fff!important; color:#20231f!important; } }

/* 当日運営: 前日から当日に引き継ぐ現場用の一枚 */
.control-alert { display:flex; align-items:center; gap:14px; padding:12px 16px; margin-bottom:16px; background:#252d22; color:#eef6e5; border-left:4px solid #c8ef69; }.control-alert>span { font-size:9px; font-weight:800; color:#c8ef69; letter-spacing:.12em; }.control-alert p { margin:0; flex:1; font-size:11px; }.control-alert .detail-link { background:transparent; border-color:#657653; color:#d5f58a; }.control-grid { display:grid; grid-template-columns:minmax(300px,1.05fr) minmax(360px,1.25fr); gap:16px; }.control-contacts { grid-column:1/-1; }.control-progress { color:#557a1e; font-size:11px; font-weight:800; }.pack-list { margin:0; padding:0; list-style:none; }.pack-list li { display:grid; grid-template-columns:18px 1fr 25px; gap:11px; align-items:center; padding:13px 19px; border-top:1px solid #edf0eb; }.pack-list p { margin:0; }.pack-list b,.pack-list small { display:block; }.pack-list b { color:var(--ink); font-size:12px; }.pack-list small { margin-top:4px; color:var(--sub); font-size:10px; }.pack-check { width:17px; height:17px; border:1.5px solid #bfc8b8; border-radius:4px; background:#fff; }.pack-check.is-done { background:#9ec94a; border-color:#9ec94a; box-shadow:inset 0 0 0 4px #fff; }.owner-actions { padding:2px 18px 14px; }.owner-actions article { display:grid; grid-template-columns:27px 1fr auto; gap:10px; align-items:center; padding:13px 0; border-top:1px solid #edf0eb; }.owner-actions p { margin:0; }.owner-actions b,.owner-actions small { display:block; }.owner-actions b { font-size:12px; color:var(--ink); }.owner-actions small { margin-top:4px; font-size:10px; color:var(--sub); }.action-done,.handover-action { border:1px solid #d4dec9; background:#f4f8ee; color:#537228; border-radius:5px; padding:7px 8px; font-size:10px; font-weight:800; white-space:nowrap; }.owner-actions article[data-ready="true"] { opacity:.62; }.owner-actions article[data-ready="true"] .action-done { background:#e3f1d7; color:#4c7b2c; }.control-contacts dl { margin:0; display:grid; grid-template-columns:repeat(4,1fr); }.control-contacts dl div { padding:14px 18px; border-top:1px solid #edf0eb; border-right:1px solid #edf0eb; }.control-contacts dl div:last-child { border-right:0; }.control-contacts dt { color:#7d867a; font-size:10px; }.control-contacts dd { margin:6px 0 0; color:var(--ink); font-size:11px; font-weight:800; }.control-contacts dd span { display:inline-block; margin-left:4px; color:#6d8e37; font-size:9px; letter-spacing:.06em; }
.handover-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }.handover-summary article { padding:15px 17px; background:#e9eee2; border-top:2px solid #8baa4b; }.handover-summary b,.handover-summary span { display:block; }.handover-summary b { font:27px/1 Georgia,serif; color:#354229; }.handover-summary span { margin-top:5px; color:#677064; font-size:10px; }.handover-list { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.handover-card { padding:19px; }.handover-card-head { display:grid; grid-template-columns:30px 1fr auto; gap:10px; align-items:start; padding-bottom:14px; border-bottom:1px solid #edf0eb; }.handover-number { display:grid; width:26px; height:26px; place-items:center; background:#2a3327; color:#d9f58d; border-radius:50%; font:11px Georgia,serif; }.handover-card h2 { margin:0; color:var(--ink); font-size:15px; }.handover-card .panel-kicker { margin-bottom:4px; }.handover-state { padding:4px 6px; border-radius:999px; font-size:9px; font-weight:800; white-space:nowrap; }.handover-state.open { background:#fff0cd; color:#956a1c; }.handover-state.ready { background:#e0f1d9; color:#4e7d2d; }.handover-card dl { margin:12px 0; }.handover-card dl div { display:grid; grid-template-columns:78px 1fr; gap:8px; padding:7px 0; }.handover-card dt { color:#858d82; font-size:10px; }.handover-card dd { margin:0; color:#4b5548; font-size:11px; line-height:1.45; }.handover-card[data-open="false"] { opacity:.72; }.handover-card[data-open="false"] .handover-action { background:#e0f1d9; color:#4d7b2c; }.handover-notice { margin-top:14px; }
.dark .control-alert { background:#303b2b; }.dark .control-alert p,.dark .control-alert b { color:#eef6e5; }.dark .pack-check { background:#30362f; border-color:#66705f; }.dark .pack-check.is-done { background:#9ec94a; }.dark .pack-list li,.dark .owner-actions article,.dark .control-contacts dl div,.dark .handover-card-head { border-color:#363c35; }.dark .action-done,.dark .handover-action { background:#303a2d; border-color:#4e5c47; color:#c8e77d; }.dark .handover-summary article { background:#30382e; }.dark .handover-summary b { color:#edf1e9; }.dark .handover-summary span { color:#bdc6b7; }.dark .handover-number { background:#d6ef88; color:#293220; }.dark .handover-card dl dd { color:#d9e1d5; }
@media (max-width:900px) { .control-grid { grid-template-columns:1fr; }.control-contacts { grid-column:auto; }.control-contacts dl { grid-template-columns:1fr 1fr; }.control-contacts dl div:nth-child(2) { border-right:0; }.handover-list { grid-template-columns:1fr; } }
@media (max-width:700px) { .control-alert { align-items:flex-start; flex-wrap:wrap; }.control-alert .detail-link { margin-left:auto; }.handover-summary { grid-template-columns:1fr 1fr; }.control-contacts dl { grid-template-columns:1fr; }.control-contacts dl div { border-right:0; }.owner-actions article { grid-template-columns:27px 1fr; }.owner-actions .action-done { grid-column:2; justify-self:start; }.control-heading .view-actions { display:flex; }.control-heading .view-actions button { margin-right:5px; } }

/* 見積書 */
.estimate-meta-panel { padding:18px 22px 20px; margin-bottom:16px; }
.estimate-meta-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.estimate-meta-grid label,.estimate-note-field { display:grid; gap:6px; font-size:11px; font-weight:700; color:#687068; }
.estimate-meta-grid input,.estimate-meta-grid select,.estimate-note-field textarea,.estimate-note-field input { border:1px solid #dce1d9; border-radius:6px; padding:9px 10px; font-size:12px; font-family:inherit; color:var(--ink); background:#fff; }
.estimate-note-field { margin-top:14px; }
.estimate-note-field textarea { resize:vertical; font-family:inherit; }
.estimate-issuer-grid { grid-template-columns:repeat(4,1fr); }
.estimate-issuer-hint { margin:12px 0 0; font-size:10.5px; color:#8b9388; }
.estimate-issuer-preset-row { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.estimate-issuer-preset-row select { flex:0 0 220px; border:1px solid #dce1d9; border-radius:6px; padding:9px 10px; font-size:12px; font-family:inherit; color:var(--ink); background:#fff; }
.dark .estimate-issuer-preset-row select { background:#30362f; border-color:#4a5347; color:var(--ink); }
.estimate-catalog-search { margin:2px 0 12px; }
.estimate-cat-group { margin-bottom:16px; }
.estimate-cat-group h3 { margin:0 0 6px; padding:0 8px 7px; font-size:10px; letter-spacing:.06em; color:#7c8479; font-weight:800; border-bottom:2px solid #c7cec1; }
.catalog-item { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 8px; border-radius:6px; }
.catalog-item:hover { background:#f2f5ee; }
.catalog-item .ci-body b,.catalog-item .ci-body small { display:block; }
.catalog-item .ci-body b { font-weight:650; color:var(--ink); font-size:11.5px; }
.catalog-item .ci-body small { color:var(--sub); font-size:10px; margin-top:2px; }
.catalog-item .ci-add { flex:none; border:1px solid #d9e1d2; background:#f5f8f2; color:#58712b; border-radius:6px; width:24px; height:24px; font-size:15px; line-height:1; }
.catalog-item .ci-add:hover { background:#e7f0da; }
.estimate-table-panel { padding-bottom:4px; }
.estimate-group { border-top:0; margin-top:6px; }
.estimate-group:first-child { margin-top:0; }
.estimate-group-head { display:flex; justify-content:space-between; margin:0 22px 6px; padding:12px 0 8px; font-size:10.5px; font-weight:800; color:#7c8479; letter-spacing:.05em; border-bottom:2px solid #c7cec1; }
.estimate-panel-actions { display:flex; gap:10px; align-items:center; }
.estimate-cost-hint { margin:0 22px 12px; font-size:10.5px; color:#8b9388; }
.estimate-row { display:grid; grid-template-columns:20px 1.3fr 118px 46px 54px 82px 88px 1fr 1fr 24px; gap:7px; align-items:center; padding:7px 22px; font-size:12px; }
.estimate-row .ri-drag { cursor:grab; color:var(--sub); font-size:12px; text-align:center; user-select:none; letter-spacing:-1px; }
.estimate-row .ri-drag:active { cursor:grabbing; }
.estimate-row-head .ri-drag { visibility:hidden; }
.estimate-row.dragging { opacity:.4; }
.estimate-row.drag-over-top { box-shadow:inset 0 2px 0 0 #83ae2c; }
.estimate-row.drag-over-bottom { box-shadow:inset 0 -2px 0 0 #83ae2c; }
.estimate-row .ri-cost,.estimate-row .ri-profit { display:none; }
.estimate-groups.show-cost .estimate-row,.estimate-row-head.show-cost { grid-template-columns:20px 1.3fr 118px 46px 54px 82px 88px 80px 92px 1fr 1fr 24px; }
.estimate-groups.show-cost .estimate-row .ri-cost { display:block; text-align:right; }
.estimate-groups.show-cost .estimate-row .ri-profit { display:block; text-align:right; font-size:11.5px; font-weight:700; font-variant-numeric:tabular-nums; }
.estimate-row-head,.catalog-row-head { position:sticky; top:0; z-index:5; background:var(--surface); border-bottom:1px solid var(--line); padding-top:11px; padding-bottom:11px; font-size:10px; font-weight:800; letter-spacing:.05em; color:#7c8479; }
.estimate-row-head span,.catalog-row-head span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.estimate-row-head .ri-name-input,.catalog-row-head .ci-name-input { font-weight:800; color:#7c8479; }
.estimate-row-head.show-cost .ri-cost,.estimate-row-head.show-cost .ri-profit { display:block; }
.estimate-row .ri-profit.positive { color:#5c9023; }
.estimate-row .ri-profit.negative { color:#b75240; }
.estimate-row input,.estimate-row select { border:1px solid #dce1d9; background:#fff; border-radius:5px; padding:5px 7px; font-size:11.5px; font-family:inherit; color:var(--ink); transition:border-color .12s,box-shadow .12s; }
.estimate-row input:hover,.estimate-row select:hover { border-color:#b7c2ae; }
.estimate-row input:focus,.estimate-row select:focus { border-color:#83ae2c; box-shadow:0 0 0 2px #e7f0da; outline:none; }
.estimate-row .ri-name-input { font-weight:650; }
.estimate-row .ri-category { font-size:10.5px; color:var(--sub); padding:5px 4px; }
.estimate-row .ri-note,.estimate-row .ri-vendor { font-size:11px; color:var(--sub); }
.estimate-row .ri-unit { font-size:10.5px; color:var(--sub); text-align:center; padding:5px 4px; }
.estimate-row .ri-qty,.estimate-row .ri-price { text-align:right; }
.estimate-row .ri-total { text-align:right; padding:5px 6px; }
.estimate-row .ri-total .ri-yen { font-family:"Inter",sans-serif; font-size:10px; color:var(--sub); margin-right:2px; }
.estimate-row .ri-total .ri-amount { font-family:"Inter",sans-serif; font-size:15px; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
.estimate-row .ri-total .ri-pending-label { font-size:10.5px; font-weight:800; color:#a46c1d; }
.estimate-row.pending { background:#fffaf0; }
.estimate-row .ri-remove { border:0; background:none; color:#b75240; font-size:17px; width:24px; line-height:1; justify-self:center; }
.estimate-row .ri-remove:hover { color:#8f3f30; }
.catalog-new-panel { padding:18px 22px 20px; margin-bottom:16px; }
.catalog-new-actions { display:flex; justify-content:flex-end; gap:10px; }
.catalog-search { margin:0; }
.catalog-row { display:grid; grid-template-columns:1.2fr 118px 50px 60px 96px 92px 1fr 24px; gap:7px; align-items:center; padding:7px 22px; font-size:12px; }
.catalog-row input,.catalog-row select { border:1px solid #dce1d9; background:#fff; border-radius:5px; padding:5px 7px; font-size:11.5px; font-family:inherit; color:var(--ink); transition:border-color .12s,box-shadow .12s; }
.catalog-row input:hover,.catalog-row select:hover { border-color:#b7c2ae; }
.catalog-row input:focus,.catalog-row select:focus { border-color:#83ae2c; box-shadow:0 0 0 2px #e7f0da; outline:none; }
.catalog-row .ci-name-input { font-weight:650; }
.catalog-row .ci-category { font-size:10.5px; color:var(--sub); padding:5px 4px; }
.catalog-row .ci-note { font-size:11px; color:var(--sub); }
.catalog-row .ci-qty,.catalog-row .ci-price,.catalog-row .ci-cost,.catalog-row .ci-profit,.catalog-row .ci-margin { text-align:right; }
.catalog-row .ci-cost { color:var(--sub); }
.catalog-row .ci-cost::placeholder { color:#b3b8ac; font-weight:400; }
.dark .catalog-row .ci-cost::placeholder { color:#5c6459; }
.catalog-row .ci-total { text-align:right; padding:5px 6px; }
.catalog-row .ci-total .ri-yen { font-family:"Inter",sans-serif; font-size:10px; color:var(--sub); margin-right:2px; }
.catalog-row .ci-total .ri-amount { font-family:"Inter",sans-serif; font-size:14px; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
.catalog-row .ci-total .ri-pending-label { font-size:10.5px; font-weight:800; color:#a46c1d; }
.catalog-row .ci-remove { border:0; background:none; color:#b75240; font-size:17px; width:24px; line-height:1; justify-self:center; }
.catalog-row .ci-remove:hover { color:#8f3f30; }
.catalog-row .ci-cost,.catalog-row .ci-profit,.catalog-row .ci-margin { display:none; }
.estimate-groups.show-cost .catalog-row,.catalog-row-head.show-cost { grid-template-columns:1.2fr 118px 50px 60px 96px 92px 90px 90px 56px 1fr 24px; }
.estimate-groups.show-cost .catalog-row .ci-cost,.estimate-groups.show-cost .catalog-row .ci-profit,.estimate-groups.show-cost .catalog-row .ci-margin,.catalog-row-head.show-cost .ci-cost,.catalog-row-head.show-cost .ci-profit,.catalog-row-head.show-cost .ci-margin { display:block; }
.catalog-row .ci-profit { font-size:11.5px; font-weight:700; font-variant-numeric:tabular-nums; }
.catalog-row .ci-profit.positive { color:#5c9023; }
.catalog-row .ci-profit.negative { color:#b75240; }
.catalog-row .ci-margin { font-size:11px; color:var(--sub); font-variant-numeric:tabular-nums; }
@media (max-width:900px) { .catalog-row { grid-template-columns:1.2fr 96px 42px 54px 84px 80px 24px; }.catalog-row .ci-note { display:none; }.estimate-groups.show-cost .catalog-row,.catalog-row-head.show-cost { grid-template-columns:1.2fr 96px 42px 54px 84px 80px 70px 70px 50px 24px; } }
@media (max-width:700px) { .catalog-row { grid-template-columns:1fr 54px 80px 24px; }.catalog-row .ci-category,.catalog-row .ci-unit,.catalog-row .ci-price { display:none; }.estimate-groups.show-cost .catalog-row,.catalog-row-head.show-cost { grid-template-columns:1fr 54px 80px 24px; }.estimate-groups.show-cost .catalog-row .ci-cost,.estimate-groups.show-cost .catalog-row .ci-profit,.estimate-groups.show-cost .catalog-row .ci-margin,.catalog-row-head.show-cost .ci-cost,.catalog-row-head.show-cost .ci-profit,.catalog-row-head.show-cost .ci-margin { display:none; } }
.estimate-totals { display:grid; gap:7px; padding:16px 22px; border-top:1px solid #edf0eb; margin-top:4px; }
.estimate-totals div { display:flex; justify-content:space-between; font-size:12.5px; color:var(--sub); }
.estimate-totals b { font-variant-numeric:tabular-nums; color:var(--ink); }
.estimate-totals .grand { font-size:15px; padding-top:9px; border-top:1px dashed #dce1d9; }
.estimate-totals .grand b { font-size:19px; font-family:Georgia,serif; }
.estimate-pending-note { padding:0 22px 16px; color:#a46c1d; }
.estimate-custom-grid { display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:10px; }
.estimate-print-sheet { display:none; }

.estimate-drawer-backdrop { position:fixed; inset:0; background:rgba(20,23,18,.4); z-index:40; opacity:0; pointer-events:none; transition:opacity .22s ease; }
.estimate-drawer-backdrop.open { opacity:1; pointer-events:auto; }
.estimate-drawer { position:fixed; top:0; right:0; bottom:0; width:min(430px,92vw); background:var(--surface); box-shadow:-18px 0 44px rgba(31,37,26,.18); z-index:41; padding:24px; overflow-y:auto; transform:translateX(100%); transition:transform .26s cubic-bezier(.22,.78,.32,1); }
.estimate-drawer.open { transform:translateX(0); }
.estimate-drawer-head { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:14px; }
.estimate-drawer-head h2 { margin:4px 0 0; font-size:17px; letter-spacing:-.02em; }
.estimate-drawer-head .close-dialog { position:static; }
.estimate-drawer-custom { margin-top:18px; padding-top:16px; border-top:1px solid #edf0eb; }
.estimate-custom-form { display:grid; gap:12px; margin-top:12px; }
.estimate-custom-form label { display:grid; gap:6px; font-size:11px; font-weight:700; color:#687068; }
.estimate-custom-form input,.estimate-custom-form select { border:1px solid #dce1d9; border-radius:6px; padding:9px 10px; font-size:12px; font-family:inherit; color:var(--ink); background:#fff; }
.estimate-row.just-added { animation:estimate-flash 1.4s ease; }
@keyframes estimate-flash { 0% { background:#dcedc3; } 100% { background:transparent; } }
@media (max-width:900px) { .estimate-row { grid-template-columns:20px 1.3fr 90px 40px 46px 74px 80px 24px; }.estimate-row .ri-note,.estimate-row .ri-vendor { display:none; }.estimate-groups.show-cost .estimate-row,.estimate-row-head.show-cost { grid-template-columns:20px 1.3fr 90px 40px 46px 74px 80px 70px 80px 24px; } }
@media (max-width:700px) { .estimate-meta-grid { grid-template-columns:1fr 1fr; }.estimate-row { grid-template-columns:20px 1fr 60px 70px 24px; }.estimate-row .ri-category,.estimate-row .ri-price,.estimate-row .ri-unit { display:none; }.estimate-drawer { width:100vw; }.estimate-groups.show-cost .estimate-row,.estimate-row-head.show-cost { grid-template-columns:20px 1fr 60px 70px 24px; }.estimate-groups.show-cost .estimate-row .ri-cost,.estimate-groups.show-cost .estimate-row .ri-profit,.estimate-row-head.show-cost .ri-cost,.estimate-row-head.show-cost .ri-profit { display:none; } }
.estimate-print-sheet.render-active {
  display:block; position:fixed; top:0; left:-10000px; width:794px; padding:36px; box-sizing:border-box;
  background:#fff; color:#20231f; font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; z-index:-1;
}
.estimate-print-sheet .p-doc-head { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; border-bottom:2px solid #20231f; padding-bottom:12px; margin-bottom:10px; }
.estimate-print-sheet .p-recipient { max-width:56%; }
.estimate-print-sheet .p-recipient-name { font-size:16px; font-weight:700; line-height:1.6; padding-bottom:6px; border-bottom:1px solid #20231f; margin-bottom:8px; display:inline-block; min-width:220px; }
.estimate-print-sheet .p-lead { margin:6px 0 0; font-size:11px; }
.estimate-print-sheet .p-issuer { text-align:right; flex:none; }
.estimate-print-sheet .p-issuer h1 { margin:0 0 6px; font-family:Georgia,"Hiragino Mincho ProN",serif; font-weight:500; font-size:26px; letter-spacing:.08em; white-space:nowrap; }
.estimate-print-sheet .p-issuer-date { font-size:11px; color:#555; margin-bottom:10px; }
.estimate-print-sheet .p-issuer-block { font-size:10px; line-height:1.75; color:#333; }
.estimate-print-sheet .p-issuer-name { font-size:12.5px; font-weight:700; color:#20231f; margin-bottom:2px; }
.estimate-print-sheet .p-subject { font-size:12px; margin:10px 0 14px; padding:6px 10px; background:#f3f5f0; border-left:3px solid #20231f; }
.estimate-print-sheet .p-headline { display:flex; align-items:baseline; justify-content:center; gap:14px; border:1.5px solid #20231f; border-radius:3px; padding:12px 18px; margin-bottom:22px; }
.estimate-print-sheet .p-headline span { font-size:12px; letter-spacing:.05em; }
.estimate-print-sheet .p-headline b { font-size:26px; font-family:Georgia,serif; letter-spacing:.02em; }
.estimate-print-sheet .p-items { margin-bottom:6px; }
.estimate-print-sheet table { width:100%; border-collapse:collapse; margin-bottom:14px; font-size:10px; border:1px solid #c7cec1; }
.estimate-print-sheet th,.estimate-print-sheet td { border-bottom:1px solid #dde2d8; border-right:1px solid #eaeee6; padding:5px 7px; text-align:left; }
.estimate-print-sheet th:last-child,.estimate-print-sheet td:last-child { border-right:0; }
.estimate-print-sheet th { background:#eef1ea; font-size:9px; letter-spacing:.04em; color:#444; font-weight:700; }
.estimate-print-sheet td.num,.estimate-print-sheet th.num { text-align:right; font-variant-numeric:tabular-nums; }
.estimate-print-sheet .p-cat-title { display:flex; justify-content:space-between; align-items:baseline; font-weight:800; font-size:11.5px; margin:0 0 4px; padding-top:4px; }
.estimate-print-sheet .p-cat-title span { font-size:10px; font-weight:600; color:#555; }
.estimate-print-sheet .p-summary { margin-top:8px; width:300px; margin-left:auto; }
.estimate-print-sheet .p-summary div { display:flex; justify-content:space-between; padding:6px 2px; border-bottom:1px solid #eee; font-size:11.5px; }
.estimate-print-sheet .p-summary .p-grand-total { font-size:14.5px; font-weight:800; border-bottom:2px solid #20231f; padding-top:8px; }
.estimate-print-sheet .p-note { margin-top:26px; padding-top:10px; border-top:1px dashed #c7cec1; }
.estimate-print-sheet .p-note-label { margin:0 0 4px; font-size:10px; font-weight:800; letter-spacing:.05em; color:#555; }
.estimate-print-sheet .p-note p:last-child { margin:0; font-size:10.5px; color:#333; line-height:1.8; white-space:pre-wrap; }
.dark .estimate-meta-grid input,.dark .estimate-meta-grid select,.dark .estimate-note-field textarea,.dark .estimate-note-field input,.dark .estimate-row input,.dark .estimate-row select,.dark .catalog-row input,.dark .catalog-row select { background:#30362f; border-color:#4a5347; color:var(--ink); }
.dark .estimate-row input:hover,.dark .estimate-row select:hover,.dark .catalog-row input:hover,.dark .catalog-row select:hover { border-color:#5c6a53; }
.dark .estimate-row input:focus,.dark .estimate-row select:focus,.dark .catalog-row input:focus,.dark .catalog-row select:focus { border-color:#9ac43b; box-shadow:0 0 0 2px #313b26; }
.dark .estimate-row select option,.dark .catalog-row select option { background:#30362f; color:var(--ink); }
.dark .catalog-item:hover { background:#2c332a; }
.dark .catalog-item .ci-add { background:#31392e; border-color:#4a5643; color:#c2e375; }
.dark .estimate-row.pending { background:#332c1c; }
.dark .estimate-group-head,.dark .estimate-cat-group h3 { border-color:#4a5347; }
.dark .estimate-totals { border-color:#363c35; }
.dark .estimate-totals .grand { border-color:#4a5347; }
.dark .estimate-drawer { background:#252b25; }
.dark .estimate-drawer-custom { border-color:#363c35; }
.dark .estimate-custom-form input,.dark .estimate-custom-form select { background:#30362f; border-color:#4a5347; color:var(--ink); }
.dark .estimate-row.just-added { animation-name:estimate-flash-dark; }
@keyframes estimate-flash-dark { 0% { background:#3a4a2c; } 100% { background:transparent; } }
