:root{font-family:Noto Sans JP,Meiryo,Arial,sans-serif;color:#111827;background:#f4f5f7}*{box-sizing:border-box}body{margin:0}.center{min-height:100vh;display:grid;place-content:center;padding:24px;background:linear-gradient(145deg,#f8eeee,#f4f5f7 48%,#eceff3)}.login{width:min(420px,calc(100vw - 32px));background:#fff;padding:38px 36px 36px;border:1px solid #eadfe0;border-top:6px solid #a91f24;border-radius:16px;box-shadow:0 18px 46px #1118271a}.login h1{margin:0;color:#a91f24;font-size:clamp(18px,5vw,23px);letter-spacing:0;line-height:1.35;white-space:nowrap}.subtitle{margin-top:8px;color:#6b7280}.login label{display:grid;grid-gap:7px;gap:7px;margin:20px 0;font-weight:700;font-size:14px}.login input{font:inherit;padding:13px;border:1px solid #cbd1d8;border-radius:9px;background:#fcfcfd;transition:border-color .18s,box-shadow .18s,background .18s}.login input:focus{outline:0;border-color:#a91f24;background:#fff;box-shadow:0 0 0 3px #a91f2420}.login .save-login{display:flex;align-items:center;gap:8px;margin:-6px 0 18px;font-weight:400;color:#4b5563}.login .save-login input{width:16px;height:16px;padding:0}.login button{width:100%;border:0;border-radius:9px;background:#a91f24;color:#fff;padding:14px;font-weight:800;letter-spacing:.04em;box-shadow:0 7px 16px #a91f2430;cursor:pointer;transition:background .18s,transform .18s}.login button:hover{background:#8f1a1f}.login button:active{transform:translateY(1px)}.error{color:#c8191e;font-weight:700}.spinner{width:34px;height:34px;border:4px solid #d5dce3;border-top-color:#c8191e;border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(1turn)}}.portal{max-width:1180px;margin:auto;padding:30px 24px}.portal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#a91f24;color:#fff;padding:22px 26px;border-radius:14px}.portal h1{display:inline;margin:0;color:#fff}.portal header>div:first-child span{margin-left:14px;color:#d1d5db}.user{display:grid;text-align:right;grid-gap:4px;gap:4px}.user span{font-size:13px;color:#d1d5db}.user-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:3px}.logout-button,.password-button{border:1px solid #ffffff80;border-radius:7px;background:#ffffff14;color:#fff;padding:6px 12px;font-weight:700;cursor:pointer}.logout-button:hover,.password-button:hover{background:#ffffff26}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-content:center;padding:20px;background:#11182799}.password-modal{max-height:calc(100vh - 40px);overflow:auto}.modal-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.login .secondary-button{background:#6b7280;box-shadow:none}.notice{color:#166534;font-weight:700}.notice.banner{background:#dcfce7;padding:12px;border-radius:8px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:22px;gap:22px}.card{text-align:left;min-height:100px;border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:14px 18px;display:grid;grid-template-columns:minmax(0,1fr) 112px;grid-template-rows:auto auto auto;grid-column-gap:18px;column-gap:18px;grid-row-gap:3px;row-gap:3px;align-items:center;box-shadow:0 5px 18px #0000000d;cursor:pointer}.card:disabled{opacity:.48;cursor:not-allowed}.badge{grid-row:1/4;display:grid;place-content:center;width:54px;height:54px;border-radius:12px;background:#fce8e8;color:#c8191e;font-weight:800}.card strong{grid-column:1;font-size:20px}.card small{grid-column:1;color:#6b7280}.card em{grid-column:1;font-style:normal;color:#c8191e;font-weight:700}.card .open{grid-column:2;grid-row:1/4;align-self:center;width:112px;border:0;border-radius:8px;background:#6b7280;color:#fff;padding:10px 16px;text-align:center;font-weight:700}.banner{background:#fdebea;padding:12px;border-radius:8px}@media(max-width:700px){.login{padding-left:24px;padding-right:24px}.portal header{align-items:flex-start}.cards{grid-template-columns:1fr}.card{min-height:100px;grid-template-columns:minmax(0,1fr) 104px}.card .open{width:104px}.portal{padding:20px 16px}}.price-shell{max-width:1400px;margin:auto;padding:24px}.price-header{display:flex;justify-content:space-between;align-items:center;background:#111827;color:#fff;border-radius:14px;padding:20px 24px}.price-header h1,.price-header p{margin:0}.price-header p,.price-header span{color:#d1d5db}.price-header>div:last-child{display:grid;text-align:right;grid-gap:5px;gap:5px}.price-header a{color:#fff}.price-filters{margin:20px 0;display:grid;grid-template-columns:2fr 1fr 1fr 2fr auto;grid-gap:12px;gap:12px;align-items:end;background:#fff;border-radius:12px;padding:18px;box-shadow:0 4px 14px #0000000d}.price-filters label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:700}.price-filters input,.price-filters select{min-width:0;width:100%;font:inherit;padding:10px;border:1px solid #cbd1d8;border-radius:7px;background:#fff}.price-filters button{border:0;border-radius:7px;background:#c8191e;color:#fff;font-weight:700;padding:11px 24px}.price-filters button:disabled{opacity:.6}.price-results{background:#fff;border-radius:12px;padding:16px;box-shadow:0 4px 14px #0000000d}.price-count{font-weight:700;margin-bottom:10px}.price-table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}td,th{padding:11px 12px;border-bottom:1px solid #e5e7eb;text-align:left}th{position:-webkit-sticky;position:sticky;top:0;background:#f7f8fa;font-size:13px}.number{text-align:right}.selling{font-weight:800;color:#c8191e}@media(max-width:900px){.price-filters{grid-template-columns:1fr 1fr}.price-filters .wide{grid-column:1/-1}.price-shell{padding:14px}.price-header{align-items:flex-start}}.price-tabs{display:flex;gap:8px;margin:18px 0}.price-tabs button{border:1px solid #d1d5db;background:#fff;border-radius:8px;padding:10px 18px;font-weight:700}.price-tabs button.active{background:#c8191e;color:#fff;border-color:#c8191e}.price-admin{background:#fff;border-radius:12px;padding:18px;box-shadow:0 4px 14px #0000000d}.price-admin h2{margin-top:0}.price-inline{display:grid;grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) auto;grid-gap:10px;gap:10px;margin-bottom:16px}.price-edit-grid input,.price-edit-grid select,.price-inline input,.price-inline select{width:100%;min-width:0;font:inherit;padding:10px;border:1px solid #cbd1d8;border-radius:7px;background:#fff}.price-edit-grid button,.price-inline button,.table-button{border:0;border-radius:7px;background:#c8191e;color:#fff;padding:10px 18px;font-weight:700}.price-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;background:#f7f8fa;border-radius:10px;padding:16px;margin:16px 0}.price-edit-grid h3{grid-column:1/-1;margin:0}.price-edit-grid label{display:grid;grid-gap:5px;gap:5px;font-size:13px;font-weight:700}.price-edit-grid .span-all{grid-column:1/-1}.price-edit-grid .actions{display:flex;gap:8px}.price-edit-grid .secondary{background:#6b7280}.price-table-wrap.compact{margin:0 0 20px}.table-button{padding:6px 12px;background:#111827}@media(max-width:900px){.price-tabs{overflow:auto}.price-edit-grid{grid-template-columns:1fr 1fr}.price-inline{grid-template-columns:1fr}.price-edit-grid .span-all{grid-column:1/-1}}.price-output-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.price-output-actions button{border:0;border-radius:7px;background:#111827;color:#fff;padding:9px 14px;font-weight:700}.price-output-actions button+button{background:#c8191e}.price-table-wrap input[type=checkbox]{width:18px;height:18px;accent-color:#c8191e}