html,body{margin:0;min-height:100%;background:#f5f6f8;color:#1f2937;font-family:Arial,Noto Sans JP,sans-serif}:root{--font-display: "Zen Maru Gothic", "Noto Sans JP", "Hiragino Maru Gothic ProN", Arial, sans-serif;--brand-grad: linear-gradient(135deg, #6366f1 0%, #ec4899 100%)}*{box-sizing:border-box}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;flex:none;background:#111827;color:#e5e7eb;min-height:100vh;padding:20px 0 40px;position:sticky;top:0;align-self:flex-start;overflow-y:auto;max-height:100vh}.sidebar-brand{padding:0 20px 18px;border-bottom:1px solid #1f2937;margin-bottom:10px}.sidebar-brand .name{font-size:20px;font-weight:800;color:#fff;letter-spacing:.01em}.sidebar-brand .sub{font-size:11px;color:#9ca3af;margin-top:2px}.brand-mark{display:inline-flex;align-items:center;gap:10px}.brand-mark.center{flex-direction:column;justify-content:center;text-align:center;gap:8px}.brand-mark .brand-icon{flex:none}.brand-wordmark{font-family:var(--font-display);font-weight:800;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.sidebar-brand .brand-wordmark{background:linear-gradient(135deg,#818cf8,#f472b6);-webkit-background-clip:text;background-clip:text}.nav-group{margin:4px 0 12px}.nav-group:first-of-type{margin-top:0}.nav-group-title{display:flex;align-items:center;gap:8px;padding:14px 20px 8px;font-size:14.5px;letter-spacing:.01em;color:#eef2ff;font-weight:800}.nav-group-title:before{content:"";width:4px;height:15px;border-radius:2px;flex:none;background:linear-gradient(180deg,#818cf8,#f472b6)}.nav-link{display:block;padding:10px 20px 10px 32px;font-size:14.5px;color:#d1d5db;border-left:3px solid transparent}.nav-link:hover{background:#1f2937;color:#fff}.nav-link.active{background:#1f2937;color:#fff;border-left-color:#6366f1;font-weight:600}.sidebar-footer{margin-top:18px;padding:16px 20px 0;border-top:1px solid #1f2937;display:flex;flex-direction:column;gap:12px}.sidebar-footer-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-user{font-size:12.5px;color:#d1d5db;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button{border:1px solid #374151;background:transparent;color:#d1d5db;border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer;flex-shrink:0}.logout-button:hover{background:#1f2937;color:#fff}.lang-toggle-dark{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;border:1.5px solid #374151;background:#1f2937;border-radius:999px;padding:6px 12px;cursor:pointer;font-size:12.5px;color:#9ca3af;transition:border-color .15s ease}.lang-toggle-dark:hover{border-color:#818cf8}.lang-toggle-dark span.active{color:#a5b4fc;font-weight:800}.lang-toggle-dark .divider{color:#4b5563}.main-content{flex:1 1 auto;min-width:0}.image-cell{width:80px}.image-cell img{width:60px;height:60px;object-fit:contain;border:1px solid #eee;border-radius:8px;background:#f9fafb}.image-cell span{color:#9ca3af;font-size:11px}.cell-product{display:flex;align-items:center;gap:10px}.cell-product .thumb{width:40px;height:40px;object-fit:contain;border:1px solid #eee;border-radius:6px;flex-shrink:0;background:#f9fafb}.cell-product .thumb-empty{width:40px;height:40px;border-radius:6px;flex-shrink:0;background:#f3f4f6}.image-preview{margin-top:10px}.image-preview img{width:120px;height:120px;object-fit:contain;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb;padding:6px}.page{padding:32px;min-height:100vh;background:#f5f6f8}.page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.eyebrow{font-size:11px;letter-spacing:.14em;color:#6b7280;font-weight:700}.page-header h1{margin:5px 0 0;font-size:28px}.page-header p{margin:6px 0 0;color:#6b7280}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.primary-button,.search-button{border:0;border-radius:8px;padding:11px 18px;background:#111827;color:#fff;cursor:pointer;font-weight:600}.primary-button:hover,.search-button:hover{background:#1f2937}.primary-button:disabled,.search-button:disabled{opacity:.55;cursor:not-allowed}.secondary-button,.clear-button{border:1px solid #d1d5db;background:#fff;border-radius:8px;padding:10px 18px;cursor:pointer;color:#1f2937;font-weight:600}.secondary-button:hover,.clear-button:hover{background:#f9fafb}.danger-button{border:1px solid #fecaca;background:#fff;color:#b91c1c;border-radius:8px;padding:10px 18px;cursor:pointer;font-weight:600}.danger-button:hover{background:#fef2f2}.link-button{border:0;background:none;color:#4f46e5;cursor:pointer;padding:4px 6px;font-weight:600}.link-button:hover{text-decoration:underline}.search-card,.table-card,.form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 1px 2px #00000008}.search-card label{display:block;margin-bottom:8px;font-weight:700}.search-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.search-row input,.search-row select{padding:11px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:15px}.search-row input[type=text],.search-row input[type=search]{width:320px;max-width:100%}.count{font-size:13px;color:#6b7280;margin-bottom:12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:760px}th{text-align:left;background:#f9fafb;padding:12px;font-size:12px;color:#4b5563;border-bottom:1px solid #e5e7eb;white-space:nowrap}td{padding:12px;border-top:1px solid #eee;vertical-align:middle}tbody tr:hover{background:#fafafa}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.price-note{font-size:11px;color:#9ca3af;margin-left:4px}.error-message{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:14px 16px;margin-bottom:20px;border-radius:10px}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:14px 16px;margin-bottom:20px;border-radius:10px}.loading,.empty{text-align:center;padding:30px;color:#6b7280}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 20px}.form-grid.single{grid-template-columns:1fr}.field{display:flex;flex-direction:column;gap:6px}.field.span-2{grid-column:span 2}.field label{font-size:13px;font-weight:700;color:#374151}.field .hint{font-size:11px;color:#9ca3af;font-weight:400}.field input,.field select,.field textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14.5px;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #c7d2fe;border-color:#6366f1}.field textarea{resize:vertical;min-height:72px}.form-actions{display:flex;gap:10px;margin-top:22px;justify-content:flex-end}.required-mark{color:#dc2626;margin-left:3px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.badge-gray{background:#f3f4f6;color:#374151}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-yellow{background:#fef9c3;color:#854d0e}.badge-orange{background:#ffedd5;color:#9a3412}.badge-green{background:#dcfce7;color:#166534}.badge-red{background:#fee2e2;color:#b91c1c}.badge-purple{background:#ede9fe;color:#5b21b6}.tabs{display:flex;gap:4px;border-bottom:1px solid #e5e7eb;margin-bottom:20px;flex-wrap:wrap}.tab{padding:10px 16px;font-size:13.5px;font-weight:600;color:#6b7280;border-bottom:2px solid transparent;cursor:pointer;background:none;border-top:0;border-left:0;border-right:0}.tab:hover{color:#111827}.tab.active{color:#111827;border-bottom-color:#111827}.tab .tab-count{margin-left:6px;color:#9ca3af;font-weight:400}.kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;align-items:flex-start}.kanban-col{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:260px;flex:none;padding:12px;min-height:120px}.kanban-col-title{font-size:13px;font-weight:700;margin-bottom:10px;display:flex;justify-content:space-between;color:#374151}.kanban-card{background:#f9fafb;border:1px solid #eee;border-radius:8px;padding:10px 12px;margin-bottom:10px;font-size:13px}.kanban-card .order-no{font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.kanban-card .cust-name{color:#4b5563;margin-top:2px}.kanban-card .amt{color:#111827;font-weight:600;margin-top:6px}.kanban-card .actions{display:flex;gap:6px;margin-top:8px}.kanban-empty{color:#9ca3af;font-size:12px;text-align:center;padding:10px 0}.line-items-table input,.line-items-table select{width:100%;padding:7px 8px;border:1px solid #d1d5db;border-radius:6px}.line-items-table td{padding:6px 8px}.remove-row-btn{border:0;background:none;color:#b91c1c;cursor:pointer;font-size:16px}@media(max-width:900px){.app-shell{flex-direction:column}.sidebar{width:100%;min-height:auto;position:static;max-height:none}.form-grid{grid-template-columns:1fr}.field.span-2{grid-column:span 1}}@media(max-width:700px){.page{padding:18px}.page-header{align-items:flex-start;flex-direction:column}.search-row{flex-direction:column}.search-row input,.search-row button{width:100%}}
