:root{--ink:#14213d;--ink-soft:#536078;--muted:#7d8799;--line:#dfe4ec;--line-soft:#edf0f5;--surface:#fff;--surface-soft:#f6f8fb;--primary:#2457d6;--primary-dark:#173e9f;--primary-soft:#edf3ff;--danger:#c23c43;--danger-soft:#fff0f1;--success:#1f8a53;--success-soft:#e8f5ee;--warning:#9a6a12;--warning-soft:#fdf3e0;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #14213d0d, 0 4px 12px #14213d0d;color:var(--ink);background:var(--surface-soft);-webkit-font-smoothing:antialiased;font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--surface-soft);min-width:320px;min-height:100vh;margin:0;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary);text-underline-offset:3px}:focus-visible{outline-offset:2px;outline:3px solid #2457d659}h1,h2,p{margin:0}h1{letter-spacing:-.02em;font-size:20px;line-height:1.45}.app-header{background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{align-items:center;gap:24px;max-width:1280px;height:56px;margin:0 auto;padding:0 20px;display:flex}.brand{flex-shrink:0;align-items:center;gap:12px;text-decoration:none;display:flex}.brand img{width:150px;max-width:40vw;height:auto;display:block}.product-label{color:var(--primary);background:var(--primary-soft);letter-spacing:.08em;border-radius:var(--radius-sm);padding:3px 9px;font-size:11px;font-weight:700}.admin-nav{gap:4px;display:flex}.admin-nav a{color:var(--ink-soft);border-radius:var(--radius-sm);padding:6px 10px;font-weight:600;text-decoration:none}.admin-nav a[aria-current=page]{color:var(--primary);background:var(--primary-soft)}.header-user{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:16px;margin-left:auto;display:flex}.btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:30px;color:var(--ink-soft);justify-content:center;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-soft)}main.page{max-width:1280px;margin:0 auto;padding:28px 20px 64px}.page-head{margin-bottom:20px}.page-head p{color:var(--muted);margin-top:2px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px}.muted{color:var(--muted)}.center-card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);max-width:520px;box-shadow:var(--shadow-sm);margin:64px auto;padding:36px 28px}.center-card h1{font-size:21px}.center-card p{color:var(--ink-soft);margin-top:12px}@media (width<=480px){main.page{padding:20px 16px 44px}.header-inner{gap:12px;padding:0 16px}.header-user .user-name{display:none}.center-card{margin:32px 16px;padding:28px 20px}}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}h2{font-size:16px}.small,.cell-sub,.table-note{font-size:12px}.cell-sub,.table-note{color:var(--muted)}.nowrap{white-space:nowrap}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;display:flex}.title-row,.actions,.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.breadcrumb{color:var(--muted);margin-bottom:10px;font-size:12px}.breadcrumb a{color:var(--ink-soft);text-decoration:none}.btn{min-height:36px;padding:6px 14px;font-size:14px}.btn.small{min-height:30px;padding:4px 10px;font-size:12px}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.accent{color:var(--primary)}.btn.danger{color:var(--danger);border-color:#e8bec2}.text-button{color:var(--primary);background:0 0;border:0;padding:2px 6px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px}.stat-card .label,.stat-card .sub{color:var(--muted);font-size:12px}.stat-card .value{font-size:24px;font-weight:700}.toolbar{gap:12px;margin-bottom:14px}.search{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;width:100%;max-width:320px;height:40px;padding:0 12px}.pills{gap:6px;display:flex}.pill{border:1px solid var(--line);color:var(--ink-soft);border-radius:var(--radius-sm);background:#fff;padding:5px 12px;font-weight:600}.pill[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow-x:auto}table{border-collapse:collapse;width:100%}.data-table{min-width:700px}.data-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:12px 16px}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--surface-soft)}.cell-title{color:var(--ink);font-weight:600;text-decoration:none}.cell-title:hover{color:var(--primary);text-decoration:underline}.empty-row{text-align:center;color:var(--muted);padding:32px 16px}.badge{border-radius:var(--radius-sm);white-space:nowrap;background:var(--line-soft);color:var(--muted);padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.blue{background:var(--primary-soft);color:var(--primary)}.badge.green{background:var(--success-soft);color:var(--success)}.badge.red{background:var(--danger-soft);color:var(--danger)}.badge.amber{background:var(--warning-soft);color:var(--warning)}.section-gap{margin-top:24px}.panel-head{margin-bottom:14px}.panel-head p{color:var(--muted);margin-top:2px;font-size:12px}.tabs{border-bottom:1px solid var(--line);gap:24px;margin-bottom:20px;display:flex;overflow-x:auto}.tabs>*{white-space:nowrap;color:var(--muted);padding:8px 2px 11px;text-decoration:none}.tabs>[aria-current=page]{color:var(--primary);border-bottom:3px solid var(--primary);font-weight:600}.table-note{margin-top:12px}.state-line{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.notice,.upload-panel{border-radius:var(--radius-sm);color:var(--ink-soft);overflow-wrap:anywhere;background:#f5f8ff;border:1px solid #d9e4fb;margin-bottom:16px;padding:12px 14px}.error-box{background:var(--danger-soft);border-radius:var(--radius-sm);border:1px solid #f0c7cb;margin:12px 0;padding:12px}.error-text{color:var(--danger);font-size:12px}progress{width:min(100%,440px);accent-color:var(--primary);margin:10px 0;display:block}dialog{border:1px solid var(--line);width:min(640px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--ink);border-radius:12px;padding:24px;box-shadow:0 24px 60px #0a183629}dialog::backdrop{background:#14213d66}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.field{gap:6px;margin-top:16px;font-weight:600;display:grid}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;width:100%;min-width:0;padding:9px 10px;font-weight:400}.field+p{margin-top:12px}.preview-banner{text-align:center;background:#fff5db;border-bottom:1px solid #ead9b2;padding:10px 16px;font-size:12px}.html-full{flex-direction:column;height:calc(100dvh - 40px);display:flex}.viewer-toolbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.html-full iframe{background:#fff;border:0;flex:1;width:100%;min-height:0}.viewer-page{grid-template-columns:240px minmax(0,1fr);gap:24px;display:grid}.material-list{align-self:start;padding:16px}.material-choice{text-align:left;border:1px solid var(--primary);background:var(--primary-soft);border-radius:6px;gap:4px;width:100%;margin-top:12px;padding:12px;display:grid}.material-choice span{color:var(--muted);font-size:12px}.viewer-document{min-width:0}.viewer-document video,.preview-image{object-fit:contain;background:#101827;border-radius:8px;width:100%;max-height:75dvh}.preview-image{background:#fff}.pdf-frame{border:1px solid var(--line);background:#fff;width:100%;min-height:70dvh}.pdf-actions{text-align:right;margin-bottom:10px}.html-full.shared-full{height:100dvh}.viewer-record-note{color:var(--ink-soft);border-top:1px solid var(--line);background:#fff;padding:10px 16px;font-size:12px}.viewer-record-note details{margin-top:4px}.viewer-record-note details p{max-width:800px;margin:8px 0}.material-choice:not([aria-current=true]){border-color:var(--line);background:#fff}.material-picker{border:1px solid var(--line);border-radius:6px;margin-top:20px;padding:12px}.check-row{align-items:flex-start;gap:10px;margin-top:12px;display:flex}.check-row input{accent-color:var(--primary);margin-top:5px}.check-row small{color:var(--muted);display:block}.selected-material{align-items:center;gap:6px;padding-top:10px;display:flex}.selected-material span{flex:1}.url-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.url-row input{border:1px solid var(--line);border-radius:6px;flex:1;min-width:160px;padding:8px}.meta-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.meta-list dt{color:var(--muted);font-size:12px}.meta-list dd{overflow-wrap:anywhere;margin:2px 0}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.stats-grid>.panel{margin:0}.breakdown-row{margin-top:12px}.breakdown-row>div{justify-content:space-between;gap:16px;display:flex}.breakdown-row progress{width:100%;height:7px}.daily-chart{width:100%;max-height:220px}.daily-chart rect:focus{stroke:#14213d;stroke-width:2px;outline:none}.chart-note{color:var(--muted);font-size:12px}.compact-table th,.compact-table td{text-align:left;border-bottom:1px solid var(--line-soft);padding:8px 12px}@media (width<=760px){.stats-grid{grid-template-columns:1fr}.header-inner{flex-wrap:wrap;gap:8px 12px;height:auto;min-height:56px;padding-top:8px;padding-bottom:8px}.admin-nav{order:3;width:100%}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-page{grid-template-columns:1fr}.header-user .user-name{display:none}.product-label{padding:3px 5px;font-size:9px}.brand{gap:6px}}main.page.viewer-page{--sidebar-width:272px;grid-template-columns:var(--sidebar-width) minmax(0, 1fr);align-items:start;gap:0;max-width:none;padding:0}.viewer-page:has(.material-list[data-collapsed=true]){--sidebar-width:72px}.viewer-page .material-list{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;min-width:0;min-height:calc(100dvh - 56px);max-height:100dvh;padding:24px 12px 16px;display:flex;position:sticky;top:0}.material-list-head{justify-content:space-between;align-items:center;gap:8px;padding:0 4px 20px 8px;display:flex}.material-list-head h2{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.material-count{background:var(--surface-soft);min-width:22px;color:var(--ink-soft);text-align:center;border-radius:6px;padding:1px 6px;font-size:11px}.sidebar-toggle{border:1px solid var(--line);width:36px;height:36px;color:var(--ink-soft);background:var(--surface);border-radius:9px;flex-shrink:0;place-items:center;padding:7px;display:grid}.sidebar-toggle:hover{color:var(--primary);background:var(--primary-soft);border-color:#bacbf0}.sidebar-toggle svg,.material-icon svg{width:22px;height:22px;display:block}.material-navigation{overscroll-behavior-y:contain;scrollbar-width:thin;gap:6px;min-height:0;margin:-3px;padding:3px;display:grid;overflow-y:auto}.material-list .material-choice{min-width:0;min-height:72px;color:var(--ink-soft);background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;margin:0;padding:13px 12px;transition:background-color .15s,color .15s;display:flex;position:relative}.material-list .material-choice:hover{background:var(--surface-soft);color:var(--ink)}.material-list .material-choice[aria-current=true]{color:var(--primary-dark);background:#eaf1fc}.material-list .material-choice[aria-current=true]:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:20px;bottom:20px;left:0}.material-list .material-icon{color:inherit;flex:0 0 24px;place-items:center;display:grid}.material-list .material-copy{min-width:0;color:inherit;gap:3px;display:grid}.material-copy strong{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.55;display:-webkit-box;overflow:hidden}.material-list .material-meta{color:var(--ink-soft);font-size:11px}.material-active-dot{background:var(--primary);visibility:hidden;border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-left:auto}[aria-current=true] .material-active-dot{visibility:visible}.material-list-foot{color:var(--ink-soft);align-items:center;gap:7px;margin:auto 8px 0;padding-top:28px;font-size:11px;display:flex}.material-list-foot svg{flex-shrink:0;width:15px;height:15px}.viewer-page .viewer-document{width:100%;padding:32px 40px 48px}.viewer-document .page-head h1{overflow-wrap:anywhere}.viewer-document .page-head p{color:var(--ink-soft);overflow-wrap:anywhere}.material-list[data-collapsed=true]{padding-inline:10px}.material-list[data-collapsed=true] .material-list-head{justify-content:center;padding-inline:0}.material-list[data-collapsed=true] h2,.material-list[data-collapsed=true] .material-copy,.material-list[data-collapsed=true] .material-active-dot,.material-list[data-collapsed=true] .material-list-foot span{display:none}.material-list[data-collapsed=true] .material-choice{justify-content:center;min-height:48px;padding:12px}.material-list[data-collapsed=true] .material-choice:before{top:14px;bottom:14px}.material-list[data-collapsed=true] .material-list-foot{justify-content:center;margin-inline:0}@media (prefers-reduced-motion:reduce){.material-list .material-choice{transition:none}}@media (width<=760px){main.page.viewer-page{grid-template-columns:minmax(0,1fr)}.viewer-page .material-list{border-right:0;border-bottom:1px solid var(--line);min-height:0;max-height:none;padding:16px;position:static}.material-list-head{padding:0 0 12px}.material-navigation{grid-template-columns:repeat(2,minmax(0,1fr));max-height:240px}.material-list .material-choice{gap:8px;min-height:72px;padding:10px}.material-copy strong{font-size:13px}.material-active-dot,.material-list-foot{display:none}.viewer-page .viewer-document{padding:24px 16px 40px}.material-list[data-collapsed=true] .material-list-head{justify-content:space-between;padding:0}.material-list[data-collapsed=true] h2{display:flex}.material-list[data-collapsed=true] .material-navigation{display:none}}
