body{background:var(--color-background);color:var(--color-text);font-family:var(--font-body);margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:28px;height:52px;padding:0 12px;display:flex}.brand{white-space:nowrap;line-height:1.15}.brand .title{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);color:var(--color-primary)}.brand .subtitle{font-size:var(--text-xs);color:var(--color-text-secondary)}.topnav{gap:28px;display:flex}.topnav a{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);border-bottom:2px solid #0000;padding:6px 2px}.topnav a.active{font-weight:var(--weight-bold);color:var(--color-primary);border-bottom-color:var(--color-primary)}.content{box-sizing:border-box;flex-direction:column;flex:1;min-height:0;padding:8px 0 0;display:flex}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;padding:0 12px;display:flex}.toolbar-left{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.toolbar-left h1{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);color:var(--color-text);margin:0}.company{font-size:var(--text-sm);color:var(--color-text-secondary)}.legend{font-size:var(--text-xs);color:var(--color-text-secondary);align-items:center;gap:18px;display:flex}.legend .same-day-sample{color:var(--color-error);font-weight:var(--weight-bold)}.toolbar-right{align-items:center;gap:10px;display:flex}.day-btn{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text);cursor:pointer;border-radius:0;font-size:14px;line-height:1}.day-btn:hover{background:var(--gray-100)}.date-label{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;min-width:168px;padding:6px 12px}.type-filter{border:1px solid var(--color-border);background:var(--color-surface);height:32px;color:var(--color-text);font-size:var(--text-sm);cursor:pointer;border-radius:0;margin-right:8px;padding:0 8px}.print-btn{border:1px solid var(--color-primary-border);background:var(--color-primary-light);height:32px;color:var(--color-primary);font-weight:var(--weight-medium);font-size:var(--text-sm);cursor:pointer;border-radius:0;margin-left:8px;padding:0 16px}.print-btn:hover{background:var(--color-primary-border)}#board-table{flex:1;min-height:0}.tabulator{border:1px solid var(--color-border);background:var(--color-surface);font-family:var(--font-body);color:var(--color-text);border-left:none;border-right:none;border-radius:0;font-size:12px}.tabulator-header{background:var(--gray-100);border-bottom:1px solid var(--gray-200)}.tabulator-col{background:var(--gray-100);border-right:1px solid var(--gray-200)}.tabulator-col-title{font-weight:var(--weight-medium);color:var(--color-text);font-size:12px}.tabulator-row{border-bottom:1px solid var(--gray-200);background:#fff;min-height:28px}.tabulator-row.tabulator-row-even{background:#fcfdfc}.tabulator-row.tabulator-selectable:hover{background-color:#fff!important}.tabulator-row.tabulator-selectable.tabulator-row-even:hover{background-color:#fcfdfc!important}.tabulator-row .tabulator-cell{border-right:1px solid var(--gray-200);padding:4px 8px;font-size:12px}.tabulator-row.same-day .tabulator-cell{color:var(--color-error)}.tabulator-row.same-day .cell-sub{color:var(--color-error);opacity:.75}.tabulator-row.tabulator-group{background:var(--gray-100);font-weight:var(--weight-bold);border-bottom:1px solid var(--color-border);font-size:12px}.cell-two-line{line-height:1.3}.cell-sub{color:var(--color-text-secondary);border-top:1px dashed var(--gray-200);margin-top:2px;padding-top:2px;font-size:11px}.col-num,.col-quantity{font-variant-numeric:tabular-nums}.col-money{color:var(--color-text-secondary)}.tabulator-row .tabulator-cell.col-row-handle{cursor:grab}body.read-only .tabulator-row .tabulator-cell.col-row-handle{cursor:default}.tabulator-row.tabulator-moving{background:var(--color-primary-light);box-shadow:var(--shadow-md)}.tabulator.tabulator-block-select .tabulator-range-overlay{display:none}.tabulator.tabulator-block-select .tabulator-row .tabulator-cell.tabulator-range-selected{background-color:#0000!important}.tabulator.tabulator-block-select .tabulator-row .tabulator-cell.tabulator-range-row-header{background-color:var(--color-surface)!important;color:var(--color-text)!important}@media print{.no-print{display:none!important}}.context-menu{z-index:60;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:140px;padding:4px 0;position:fixed;overflow:hidden}.context-menu-item{cursor:pointer;color:var(--color-text);padding:8px 14px;font-size:12px}.context-menu-item:hover{background:var(--color-primary-light)}.context-menu-item-danger{color:var(--color-error)}.modal-overlay{z-index:70;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--color-surface);border-radius:var(--radius-md);width:560px;max-height:80vh;box-shadow:var(--shadow-md);flex-direction:column;gap:10px;padding:18px 20px;display:flex;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:15px;font-weight:var(--weight-bold)}.modal-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;font-size:18px}
