.loading-overlay{background-color:var(--color-overlay-dark);z-index:10000;pointer-events:auto;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.loading-modal{background-color:var(--color-bg-white);padding:var(--spacing-24) 32px;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);align-items:center;gap:var(--spacing-base);flex-direction:column;min-width:200px;display:flex}.loading-spinner{border:3px solid var(--color-spinner-bg);border-top:3px solid var(--color-spinner-active);border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}.loading-text{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-boundary{background-color:var(--color-bg-secondary);min-height:100vh;padding:var(--spacing-xl);justify-content:center;align-items:center;display:flex}.error-boundary__content{text-align:center;background-color:var(--color-bg-white);padding:var(--spacing-xl);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-width:var(--max-width-error);width:100%}.error-boundary__title{color:var(--color-text-error);font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}.error-boundary__message{color:var(--color-text-secondary);font-size:var(--font-size-base);margin-bottom:var(--spacing-xl);line-height:1.6}.error-boundary__button{background-color:var(--color-danger);color:var(--color-bg-white);padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-sm);font-size:var(--font-size-base);cursor:pointer;border:none;transition:background-color .2s}.error-boundary__button:hover{background-color:var(--color-danger-hover)}.db-status-banner{bottom:var(--spacing-base);right:var(--spacing-base);z-index:9999;background-color:var(--color-danger);color:var(--color-bg-white);padding:var(--spacing-sm) var(--spacing-base);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-lg);pointer-events:none;position:fixed}.App{width:100%;min-height:100vh}.login-container{background-color:var(--color-login-bg)}.login-card{padding:var(--spacing-2xl)}.login-title{text-align:center;color:var(--color-text-primary);margin-bottom:var(--spacing-xl);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}.login-code-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.login-code-input{text-align:center;font-size:var(--font-size-xl)}.login-code-back{margin-top:var(--spacing-md);text-align:center}.forgot-password{margin-bottom:var(--spacing-lg)}.forgot-password a{color:var(--color-primary);font-size:var(--font-size-sm);text-decoration:none}.forgot-password a:hover{text-decoration:underline}:root{--font-family-base:"Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--font-family-mono:"Courier New", Courier, monospace;--line-height-base:1.5;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--color-primary:#36f;--color-primary-hover:#2952cc;--color-primary-light:#f0f4ff;--color-secondary:#e0e0e0;--color-secondary-hover:#d0d0d0;--color-danger:#e74c3c;--color-danger-hover:#c0392b;--color-success:#50c878;--color-success-hover:#45b869;--color-warning:#ff8c42;--color-warning-hover:#ff7a2e;--color-warning-bg:#fff8e1;--color-warning-border:#ffe0a3;--color-link:#4a90e2;--color-card-header-bg:#f0f4ff;--color-info-bg:#e8eaf6;--color-purple:#7c3aed;--color-purple-hover:#6d28d9;--color-admin-primary:#1e293b;--color-admin-secondary:#334155;--color-admin-accent:#f59e0b;--color-admin-accent-hover:#d97706;--color-admin-bg:#0f172a;--color-admin-header-bg:#1e293b;--color-admin-text:#f1f5f9;--color-status-active:#1976d2;--color-status-completed:#2e7d32;--color-status-paid:#7b1fa2;--color-status-overdue:#e53935;--color-menu-green:#50c878;--color-menu-purple:#9b59b6;--color-menu-blue:#5dade2;--color-menu-blue-dark:#4a90e2;--color-menu-purple-light:#bb8fce;--color-menu-green-bright:#2ecc71;--color-menu-orange:#ff8c42;--color-menu-red:#e74c3c;--color-menu-yellow:#f1c40f;--color-menu-red-light:#ec7063;--color-menu-purple-dark:#8e44ad;--color-chart-complete:#2e7d32;--color-chart-high:#4caf50;--color-chart-medium:#ff9800;--color-chart-low:#e53935;--color-chart-revenue:#1976d2;--color-chart-revenue-light:#90caf9;--color-chart-cost:#ff9800;--color-chart-profit:#4caf50;--color-chart-profit-margin:#e91e63;--color-chart-clients:#42a5f5;--color-chart-products:#66bb6a;--color-chart-contracts:#ffa726;--color-chart-sales:#ef5350;--color-chart-purchases:#ab47bc;--color-chart-inventory:#26c6da;--color-badge-success-bg:#e8f5e9;--color-badge-success-text:#2e7d32;--color-badge-info-bg:#e3f2fd;--color-badge-info-text:#1565c0;--color-badge-warning-bg:#fff3e0;--color-badge-warning-text:#e65100;--color-badge-danger-bg:#fce4ec;--color-badge-danger-text:#c62828;--color-text-primary:#333;--color-text-secondary:#666;--color-text-muted:#999;--color-text-label:#555;--color-text-caption:#888;--color-text-error:#c33;--color-bg-primary:#f5f5f5;--color-bg-secondary:#e0f2f7;--color-bg-white:white;--color-bg-light:#f8f9fa;--color-bg-error:#fee;--color-bg-success:#e8f5e9;--color-bg-muted:#f0f0f0;--color-bg-sales:#fdeef2;--color-border:#ddd;--color-border-light:#e0e0e0;--color-border-dark:#dee2e6;--color-border-subtle:#f0f0f0;--color-border-card:#e8e8e8;--color-hover-row:#f8f9ff;--shadow-focus-ring:0 0 0 3px #3366ff1a;--shadow-floating:0 2px 8px #00000040;--color-border-print:#333;--color-login-bg:#e0e8f7;--color-spinner-bg:#f3f3f3;--color-spinner-active:#3498db;--spacing-xxs:2px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-base:16px;--spacing-lg:20px;--spacing-xl:30px;--spacing-2xl:40px;--spacing-3xl:50px;--spacing-24:24px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:10px;--height-chart:350px;--height-no-data-chart:200px;--max-height-table-preview:600px;--max-height-searchable-list:240px;--min-width-searchable-panel:240px;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 2px 8px #0000001a;--shadow-lg:0 4px 12px #00000026;--shadow-xl:0 8px 32px #0000004d;--shadow-up:0 -2px 8px #0000000f;--color-overlay-dark:#0000004d;--color-progress-start:#42a5f5;--color-progress-end:#1976d2;--font-size-xs:13px;--font-size-sm:15px;--font-size-base:18px;--font-size-lg:20px;--font-size-xl:22px;--font-size-2xl:26px;--font-size-3xl:30px;--font-size-4xl:34px;--font-size-5xl:52px;--font-size-md:var(--font-size-base);--font-size-number-inline:16px;--max-width-container:1560px;--max-width-modal:500px;--max-width-modal-sm:420px;--max-width-error:480px;--btn-padding-y:10px;--btn-padding-y-sm:6px;--input-height:46px;--filter-input-height:40px;--checkbox-size:18px;--btn-icon-size:32px;--badge-padding-y:3px;--badge-padding-x:10px;--toast-padding-y:10px;--transition-fast:.2s;--transition-normal:.3s;--page-header-height:66px}.card-base{background-color:var(--color-bg-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-light);background-color:var(--color-bg-light);display:flex}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.amount{text-align:right}th.amount,td.amount{width:120px}th.amount-sm,td.amount-sm{text-align:right;width:80px}th.amount-detail,td.amount-detail{text-align:right;width:100px}.text-right{text-align:right}.text-center{text-align:center}.text-bold{font-weight:700}.qty-over{color:var(--color-danger);font-weight:700}.col-no{width:120px}.col-no-wide{width:135px}.col-date{width:100px}.col-qty{text-align:right;width:100px}.col-btn{width:120px}.col-progress{width:100px}.col-amount-sm{text-align:right;width:110px}.col-qty-sm{text-align:right;width:80px}.col-qty-sm input,.col-qty-sm select{width:100%;min-width:0}.col-text-sm{width:110px}.col-text-sm input{width:100%;min-width:0}.col-action{width:170px}.col-action-sm{text-align:right;width:80px}th.sortable{cursor:pointer}.width-full{width:100%}.form-value{padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-primary);height:var(--input-height);box-sizing:border-box;align-items:center;display:flex}.loading-fullscreen{justify-content:center;align-items:center;height:100vh;display:flex}.w-full{width:100%}.mt-10{margin-top:10px}.csv-export-float{bottom:var(--spacing-lg);right:var(--spacing-lg);z-index:300;position:fixed}.csv-export-float .btn{box-shadow:var(--shadow-lg)}.csv-export-float{align-items:center;gap:var(--spacing-sm);display:flex}.csv-export-period{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);display:flex}.csv-export-period input{width:130px}.no-data{text-align:center;color:var(--color-text-muted);padding:var(--spacing-24) 0!important}.no-data-chart{height:var(--height-no-data-chart);color:var(--color-text-muted);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.page-container.report-compact{padding:var(--spacing-md)}.report-empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.page-section{margin-bottom:var(--spacing-24);overflow:hidden}.page-section-header{padding:var(--spacing-base) var(--spacing-lg);border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;display:flex}.page-section-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.auth-container{min-height:100vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.btn{border-radius:var(--radius-sm);padding:var(--btn-padding-y) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-xs);transition:background-color var(--transition-fast);border:none;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-bg-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-hover)}.btn-danger{background-color:var(--color-danger);color:var(--color-bg-white)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover)}.btn-warning{background-color:var(--color-warning);color:var(--color-bg-white)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-hover)}.btn-sm{padding:var(--btn-padding-y-sm) var(--spacing-md);font-size:var(--font-size-xs)}.btn-edit,.btn-delete,.btn-create,.btn-save,.btn-cancel{border-radius:var(--radius-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-fast);border:none;align-items:center;display:inline-flex}.btn-edit,.btn-delete{padding:var(--btn-padding-y-sm) var(--spacing-md);font-size:var(--font-size-xs);gap:var(--spacing-xs)}.btn-create,.btn-save,.btn-cancel{padding:var(--btn-padding-y) var(--spacing-lg);font-size:var(--font-size-sm)}.btn-edit{background-color:var(--color-primary);color:var(--color-bg-white)}.btn-edit:hover{background-color:var(--color-primary-hover)}.btn-delete{background-color:var(--color-danger);color:var(--color-bg-white)}.btn-delete:hover{background-color:var(--color-danger-hover)}.btn-create{background-color:var(--color-primary);color:var(--color-bg-white);gap:var(--spacing-xs)}.btn-create:hover{background-color:var(--color-primary-hover)}.btn-save{background-color:var(--color-primary);color:var(--color-bg-white);gap:var(--spacing-sm)}.btn-save:hover{background-color:var(--color-primary-hover)}.btn-cancel{background-color:var(--color-bg-white);color:var(--color-primary);border:1px solid var(--color-primary);gap:var(--spacing-sm)}.btn-cancel:hover{background-color:var(--color-primary-light)}.btn-back{color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer;padding:var(--spacing-sm);transition:color var(--transition-fast);align-items:center;gap:var(--spacing-xs);background:0 0;border:none;display:inline-flex}.btn-back:hover{color:var(--color-primary)}.btn-reason-disabled{opacity:.5;cursor:not-allowed}.form-group{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.form-group:last-child{margin-bottom:0}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-group .required{color:var(--color-danger)}.form-error{color:var(--color-danger);font-size:var(--font-size-xs);margin:0}.form-group input,.form-group textarea,.form-group select{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);box-sizing:border-box;width:100%;color:var(--color-text-primary);background-color:var(--color-bg-white)}.form-group input,.form-group select{height:var(--input-height)}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;padding-right:calc(var(--spacing-sm) * 2 + 12px)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-primary);outline:none}.searchable-select{position:relative}.searchable-select__control{width:100%;height:var(--input-height);box-sizing:border-box;padding:var(--spacing-md);padding-right:calc(var(--spacing-sm) * 2 + 12px);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-white);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.searchable-select__control.is-placeholder{color:var(--color-text-muted)}.searchable-select__control:focus{border-color:var(--color-primary);outline:none}.searchable-select__control:disabled{background-color:var(--color-bg-primary);color:var(--color-text-secondary);cursor:not-allowed}.searchable-select__panel{z-index:100;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-white);box-shadow:var(--shadow-md);position:absolute;top:calc(100% + 2px);left:0;right:0}.searchable-select__panel input.searchable-select__filter{box-sizing:border-box;width:100%;height:auto;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-primary);background-color:var(--color-bg-white)}.searchable-select__list{max-height:var(--max-height-searchable-list);margin:var(--spacing-sm) 0 0;padding:0;list-style:none;overflow-y:auto}.searchable-select__option{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer}.searchable-select__option.is-active{background-color:var(--color-bg-primary)}.searchable-select__option.is-selected{font-weight:var(--font-weight-medium)}.searchable-select__option.is-disabled{color:var(--color-text-muted);cursor:not-allowed}.searchable-select__empty{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-muted)}.table1 td .searchable-select,td .form-group-with-link .searchable-select{flex:1;width:100%;min-width:0}.table1 td .searchable-select__control{height:auto;padding:var(--spacing-sm);padding-right:calc(var(--spacing-sm) * 2 + 12px)}.table1 td .searchable-select__panel{min-width:var(--min-width-searchable-panel)}.filter-group .searchable-select__control,.filter-field .searchable-select__control{height:var(--filter-input-height)}.form-group input.disabled-input,.form-group textarea.disabled-input,.form-group select.disabled-input,.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background-color:var(--color-bg-primary);color:var(--color-text-secondary);cursor:not-allowed}.help-text{margin:var(--spacing-xs) 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.form-group-with-link{align-items:flex-start;gap:var(--spacing-xs);display:flex}.form-group-with-link .form-group{flex:0 90%;min-width:0}.form-full-width .form-group-with-link .form-group{flex:0 95%}.form-group-with-link .btn-link-sm{margin-top:46px;margin-left:var(--spacing-base)}td .form-group-with-link{align-items:center}td .form-group-with-link select{flex:1;min-width:0}td .form-group-with-link .btn-link-sm{margin-top:0;margin-bottom:0;margin-left:var(--spacing-xs)}.form-group textarea{resize:vertical;height:80px}.form-section{gap:var(--spacing-lg);flex-direction:column;display:flex}.section-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.form-grid-2col{gap:0 var(--spacing-24);grid-template-columns:1fr 1fr;display:grid}.form-grid-2col .form-full-width{grid-column:1/-1;margin-bottom:20px}.form-grid-2col .form-row-3col{gap:0 var(--spacing-24);grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}.form-grid-2col .form-divider{border:none;border-top:1px solid var(--color-border);grid-column:1/-1;margin:0 0 20px}@media (width<=768px){.form-grid-2col,.form-grid-2col .form-row-3col{grid-template-columns:1fr}}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-border-light)}.form-actions{justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border-light);bottom:0;left:calc(var(--spacing-lg) * 2);right:calc(var(--spacing-lg) * 2);background-color:var(--color-bg-white);z-index:90;border-radius:0 0 var(--radius-md) var(--radius-md);max-width:1200px;box-shadow:var(--shadow-up);margin:0 auto;display:flex;position:fixed}.form-actions .form-action-delete{margin-right:auto}.checkbox-wrapper{align-items:center;gap:var(--spacing-sm);height:var(--input-height);display:flex}.checkbox-wrapper input[type=checkbox],.checkbox-label input[type=checkbox]{width:var(--checkbox-size);height:var(--checkbox-size);cursor:pointer;flex-shrink:0;margin:0}.checkbox-label{font-weight:var(--font-weight-normal);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);margin:0}.content-card{background-color:var(--color-bg-white);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);flex-direction:column;max-height:calc(100vh - 140px);display:flex}.content-card-large{padding:var(--spacing-xl)}.detail-container{min-height:calc(100vh - var(--page-header-height));background-color:var(--color-bg-primary);padding:var(--spacing-lg);box-sizing:border-box}.detail-content{background-color:var(--color-bg-white);border-radius:var(--radius-md);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);max-width:1200px;margin:0 auto}.detail-form{gap:var(--spacing-xl);flex-direction:column;padding-bottom:80px;display:flex}.detail-header-extra{margin-bottom:var(--spacing-lg);top:var(--page-header-height);left:calc(var(--spacing-lg) * 2);right:calc(var(--spacing-lg) * 2);z-index:90;max-width:1200px;margin-left:auto;margin-right:auto;position:fixed}.detail-header-extra+.detail-content{margin-top:60px}.status-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);background-color:var(--color-bg-white);border:1px solid var(--color-border-card);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;display:flex}.status-header-left{align-items:center;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.status-header-item{align-items:center;gap:var(--spacing-sm);display:inline-flex}.status-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);letter-spacing:.02em}.status-header-no{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding-right:var(--spacing-lg);border-right:1px solid var(--color-border-subtle)}.status-header .status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;padding:0;font-size:0;line-height:0}.status-header select{appearance:none;padding:6px 30px 6px var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg-white);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23888' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-md) center;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background-size:10px 7px}.status-header select:hover:not(:disabled){border-color:var(--color-primary)}.status-header select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring);outline:none}.status-header select:disabled{background-color:var(--color-bg-primary);color:var(--color-text-muted);cursor:not-allowed}.status-header .status-reason{color:var(--color-text-muted);font-size:var(--font-size-xs)}.status-actions{gap:var(--spacing-sm);display:flex}.btn-status{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;background-color:var(--color-bg-white);color:var(--color-text-primary);transition:background-color .2s,border-color .2s}.btn-status:hover:not(:disabled){background-color:var(--color-bg-primary);border-color:var(--color-primary)}.btn-status:disabled{opacity:.4;cursor:not-allowed}.btn-status-default{border-color:var(--color-text-secondary);color:var(--color-text-secondary)}.btn-status-default:hover{background-color:var(--color-bg-primary)}.btn-status-confirm{border-color:var(--color-success);color:var(--color-success)}.btn-status-confirm:hover{background-color:var(--color-badge-success-bg)}.btn-status-cancel{border-color:var(--color-danger);color:var(--color-danger)}.btn-status-cancel:hover{background-color:var(--color-badge-danger-bg)}.btn-status-activate{border-color:var(--color-primary);color:var(--color-primary)}.btn-status-activate:hover{background-color:var(--color-badge-info-bg)}.btn-status-complete{border-color:var(--color-success);color:var(--color-success)}.btn-status-complete:hover{background-color:var(--color-badge-success-bg)}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.form-group input[type=number]{font-size:var(--font-size-xs)}.inline-edit-input[type=number]{font-size:var(--font-size-number-inline)}.theme-sales .content-card,.detail-container.theme-sales,.detail-container.theme-sales .detail-content{background-color:var(--color-bg-sales)}.readonly-fieldset{border:none;min-inline-size:auto;margin:0;padding:0}.readonly-notice{background-color:var(--color-badge-warning-bg);color:var(--color-badge-warning-text);border-radius:4px;margin:8px 0;padding:8px 12px;font-size:13px}.items-table-totals{justify-content:flex-end;gap:24px;padding:8px 4px;font-weight:600;display:flex}.one-time-code-input{letter-spacing:.4em}.inline-edit-input{width:5em;padding:var(--spacing-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-md);text-align:right}.inline-edit-input:focus{border-color:var(--color-primary);outline:none}.inline-edit-select{padding:var(--spacing-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-md)}.inline-edit-select:focus{border-color:var(--color-primary);outline:none}.inline-edit-with-link{align-items:center;gap:var(--spacing-xs);display:flex}.table-wrapper{margin-bottom:var(--spacing-lg);overflow-x:auto}.table-section{background-color:var(--color-bg-white);border-radius:var(--radius-md);padding:0 var(--spacing-lg) var(--spacing-lg);box-shadow:var(--shadow-sm);flex:1;min-height:0;position:relative;overflow:auto}.table1{border-collapse:collapse;width:100%}.table1 thead{background-color:var(--color-bg-light);z-index:10;position:sticky;top:0}.table1 th{padding:var(--spacing-md);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-bottom:2px solid var(--color-border-dark);font-size:var(--font-size-sm);background-color:var(--color-bg-light)}.btn-table-create{background-color:var(--color-primary);color:var(--color-bg-white);border-radius:var(--radius-sm);width:var(--btn-icon-size);height:var(--btn-icon-size);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-fast);border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.btn-table-create:hover{background-color:var(--color-primary-hover)}.table1 th .sort-icon{margin-left:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted)}.table1 td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-dark);color:var(--color-text-primary);font-size:var(--font-size-sm)}.table1 td input:not([type=checkbox]),.table1 td select{box-sizing:border-box;width:100%;min-width:0}.table1 tbody tr:hover{background-color:var(--color-bg-light)}.table1 tbody tr:nth-child(2n){background-color:var(--color-bg-white)}.table1 tbody tr:nth-child(2n):hover{background-color:var(--color-bg-light)}.action-buttons,.table-actions{gap:var(--spacing-sm);display:flex}.action-buttons button,.table-actions button{font-weight:var(--font-weight-bold)}.btn-sm-compact{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.btn-xs-compact{padding:var(--spacing-xxs) var(--spacing-xs);font-size:var(--font-size-xs)}.expansion-row-cell{padding:var(--spacing-sm) var(--spacing-base);background-color:var(--color-bg-secondary)}.qty-negative{color:var(--color-danger);font-weight:var(--font-weight-bold)}.filter-section{background-color:var(--color-bg-white);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);align-items:flex-end;gap:var(--spacing-lg);top:var(--page-header-height);z-index:90;flex-shrink:0;display:flex;position:sticky;overflow:auto hidden}.filter-controls{gap:var(--spacing-lg);flex-wrap:nowrap;flex:1;align-items:flex-end;min-width:0;display:flex}.filter-group{gap:var(--spacing-sm);flex-direction:column;flex:auto;min-width:50px;max-width:300px;display:flex}.filter-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.filter-group input,.filter-group select{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);box-sizing:border-box;color:var(--color-text-primary);background-color:var(--color-bg-white);width:100%;height:var(--filter-input-height)}.filter-group input:focus,.filter-group select:focus{border-color:var(--color-primary);outline:none}.filter-actions{gap:var(--spacing-md);flex-shrink:0;display:flex}.filter-actions button{font-weight:var(--font-weight-bold)}.btn-search{background-color:var(--color-primary);color:var(--color-bg-white);border-radius:var(--radius-sm);padding:var(--btn-padding-y) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast);height:var(--filter-input-height);box-sizing:border-box;border:none}.btn-search:hover{background-color:var(--color-primary-hover)}.btn-reset{background-color:var(--color-secondary);color:var(--color-text-primary);border-radius:var(--radius-sm);padding:var(--btn-padding-y) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast);height:var(--filter-input-height);box-sizing:border-box;border:none}.btn-reset:hover{background-color:var(--color-secondary-hover)}.pagination1-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-dark);justify-content:space-between;align-items:center;display:flex}.pagination1-info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination1-controls{gap:var(--spacing-sm);display:flex}.btn-pagination{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);min-width:36px}.btn-pagination:hover:not(:disabled){background-color:var(--color-bg-primary);border-color:var(--color-primary)}.btn-pagination:disabled{opacity:.5;cursor:not-allowed}.btn-pagination.active{background-color:var(--color-primary);color:var(--color-bg-white);border-color:var(--color-primary)}.btn-pagination.active:hover{background-color:var(--color-primary-hover)}.badge{padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;display:inline-block}.badge-success{background-color:var(--color-badge-success-bg);color:var(--color-badge-success-text)}.badge-info{background-color:var(--color-badge-info-bg);color:var(--color-badge-info-text)}.badge-warning{background-color:var(--color-badge-warning-bg);color:var(--color-badge-warning-text)}.badge-danger{background-color:var(--color-badge-danger-bg);color:var(--color-badge-danger-text)}.badge-default{background-color:var(--color-bg-primary);color:var(--color-text-muted)}.badge-blank{background-color:var(--color-bg-white);border:1px solid var(--color-border);color:var(--color-text-secondary)}.badge-black{background-color:var(--color-text-primary);color:var(--color-bg-white)}.badge-filled-success{background-color:var(--color-success);color:var(--color-bg-white)}.badge-filled-warning{background-color:var(--color-warning);color:var(--color-bg-white)}.badge-filled-danger{background-color:var(--color-danger);color:var(--color-bg-white)}.badge-filled-info{background-color:var(--color-primary);color:var(--color-bg-white)}.progress-bar{background-color:var(--color-border-light);border-radius:var(--radius-pill);height:var(--spacing-lg);min-width:100px;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--color-progress-start), var(--color-progress-end));border-radius:var(--radius-pill);height:100%;transition:width .5s}.progress-bar-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.no-items{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--color-text-muted);font-size:var(--font-size-sm)}.empty-state{padding:var(--spacing-2xl) var(--spacing-lg);color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{font-size:var(--font-size-5xl);margin-bottom:var(--spacing-md);opacity:.4}.empty-state-text{font-size:var(--font-size-sm);text-align:center;line-height:1.8}.text-sm{font-size:var(--font-size-sm)}.page-container{min-height:calc(100vh - var(--page-header-height));background-color:var(--color-bg-primary);padding:var(--spacing-24);box-sizing:border-box;max-width:var(--max-width-container);margin:0 auto}.truncated-text{cursor:help;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;position:relative}.truncated-text:hover:after{content:attr(data-tooltip);z-index:1000;white-space:normal;word-break:break-all;background-color:var(--color-text-primary);max-width:480px;color:var(--color-bg-primary);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);pointer-events:none;box-shadow:var(--shadow-floating);border-radius:4px;line-height:1.4;position:absolute;top:calc(100% + 4px);left:0}.page-header{align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);display:flex}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.loading{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.error{background-color:var(--color-bg-error);color:var(--color-text-error);padding:var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg)}.error-message{color:var(--color-text-error);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);text-align:center}.text-warning{color:var(--color-badge-warning-text);font-size:var(--font-size-sm)}.btn-link-sm{color:var(--color-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);white-space:nowrap;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.btn-link-sm:hover{text-decoration:underline}.external-link-icon{vertical-align:middle;margin-left:auto}.tree-table .tree-parent-row td{background:var(--color-bg-secondary)}.tree-table .btn-sm{padding:5px;font-size:12px}.tree-table .tree-child-row td:first-child{padding-left:calc(var(--spacing-base) * 2)}.tree-branch{color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;margin-right:var(--spacing-xs);font-family:monospace}.title-link-extra{margin-left:8px;font-size:.6em;font-weight:400}*{box-sizing:border-box;margin:0;padding:0}:root{font-family:var(--font-family-base);line-height:var(--line-height-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,select,textarea,button{font-family:inherit}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}.auth-card{width:100%;max-width:400px}.auth-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.auth-form .form-group{margin-bottom:0}.auth-footer{margin-top:var(--spacing-xl);text-align:center}.auth-footer a{color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:color var(--transition-fast);text-decoration:none}.auth-footer a:hover{color:var(--color-primary)}@media (width<=991px){.page-container,.detail-container{padding:var(--spacing-md)}.detail-content{padding:var(--spacing-lg)}}@media (width<=575px){.page-container,.detail-container{padding:var(--spacing-sm)}.detail-content{padding:var(--spacing-base);max-width:100%}.content-card{padding:var(--spacing-sm)}}@media (width<=991px){.filter-section{flex-wrap:wrap;align-items:flex-end}.filter-controls{flex-wrap:wrap;width:100%}.filter-group{min-width:140px;max-width:none}.filter-actions{width:100%;margin-top:var(--spacing-sm);justify-content:flex-end}}@media (width<=575px){.filter-section{padding:var(--spacing-md);align-items:stretch;gap:var(--spacing-md);flex-direction:column}.filter-controls{gap:var(--spacing-md);flex-direction:column}.filter-group{min-width:100%}.pagination1-footer{gap:var(--spacing-sm);flex-direction:column;align-items:center}.pagination1-controls{flex-wrap:wrap;justify-content:center}.form-actions{gap:var(--spacing-sm);flex-direction:column-reverse}.form-actions button{justify-content:center;width:100%}}@media (width<=767px){.page-container{padding:var(--spacing-md)}.table1 th,.table1 td{padding:var(--spacing-sm);font-size:var(--font-size-xs)}.col-action{width:100px}.table-section{padding:var(--spacing-md)}}@media (width<=575px){.table1 th,.table1 td{padding:var(--spacing-xs) var(--spacing-sm)}.table-section{padding:var(--spacing-sm);border-radius:var(--radius-sm)}.btn,.btn-search,.btn-reset{min-height:44px}.btn-edit,.btn-delete{min-height:44px;padding:var(--spacing-sm) var(--spacing-md)}}@media (width<=767px){.modal-content{width:95%;max-width:95%}}@media (width<=575px){.modal-content{border-radius:0;width:100%;max-width:100%;height:100vh;max-height:100vh}.modal-header{background:var(--color-bg-white);z-index:1;position:sticky;top:0}.section-title{font-size:var(--font-size-base)}.section-header{gap:var(--spacing-sm);flex-wrap:wrap}.detail-form{gap:var(--spacing-lg)}.items-table-wrapper{margin:0 calc(-1 * var(--spacing-sm));padding:0 var(--spacing-sm);overflow-x:auto}}
