*,*:before,*:after{box-sizing:border-box}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--qr-primary: #475569;--qr-primary-dark: #334155;--qr-accent: #64748b;--qr-bg: #f1f5f9;--qr-card-bg: #ffffff;--qr-text: #0f172a;--qr-text-muted: #64748b;--qr-border: #cbd5e1;--qr-success: #16a34a;--qr-danger: #dc2626;--qr-warn: #d97706;--qr-leave: #1e293b;--qr-leave-dark: #0f172a}.qr-punch-root{min-height:100vh;background:radial-gradient(circle at 20% 10%,rgba(71,85,105,.1),transparent 50%),radial-gradient(circle at 80% 90%,rgba(100,116,139,.1),transparent 50%),var(--qr-bg);font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:var(--qr-text);padding:1.5rem 1rem 3rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.qr-punch-header{width:100%;max-width:480px;text-align:center;margin-bottom:1.5rem}.qr-punch-title{font-size:1.5rem;font-weight:800;letter-spacing:.05em;margin:0}.qr-punch-subtitle{font-size:.85rem;color:var(--qr-text-muted);margin-top:.25rem}.qr-punch-card{width:100%;max-width:480px;background:var(--qr-card-bg);border-radius:1.25rem;padding:1.75rem 1.5rem;box-shadow:0 20px 40px -20px #0f172a38,0 4px 12px -4px #0f172a14}.qr-punch-form-label{display:block;font-size:.8rem;font-weight:700;color:var(--qr-primary-dark);margin-bottom:.35rem;letter-spacing:.05em}.qr-punch-input{width:100%;font-size:1.15rem;padding:.85rem 1rem;border:2px solid var(--qr-border);border-radius:.75rem;background:#fbfdff;color:var(--qr-text);outline:none;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none}.qr-punch-input:focus{border-color:var(--qr-primary);box-shadow:0 0 0 4px #4755692e}.qr-punch-input+.qr-punch-form-label{margin-top:1rem}.qr-punch-submit{width:100%;margin-top:1.5rem;padding:1rem;font-size:1.1rem;font-weight:700;letter-spacing:.05em;color:#fff;background:linear-gradient(135deg,var(--qr-primary),var(--qr-primary-dark));border:none;border-radius:.85rem;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease;box-shadow:0 8px 18px -8px #0f172a80}.qr-punch-submit:hover{transform:translateY(-1px);box-shadow:0 12px 22px -8px #0f172a99}.qr-punch-submit:disabled{opacity:.55;cursor:wait;transform:none}.qr-punch-error{margin-top:1rem;padding:.75rem 1rem;background:#fef2f2;color:var(--qr-danger);border:1px solid #fecaca;border-radius:.6rem;font-size:.9rem}.qr-punch-staff{display:flex;flex-direction:column;align-items:center;padding:1rem 0 1.25rem;border-bottom:1px dashed var(--qr-border);margin-bottom:1.25rem}.qr-punch-staff-name{font-size:1.35rem;font-weight:800;margin:0}.qr-punch-staff-meta{font-size:.8rem;color:var(--qr-text-muted);margin-top:.2rem}.qr-punch-state-pill{margin-top:.6rem;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;background:#4755691f;color:var(--qr-primary-dark);letter-spacing:.05em}.qr-punch-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.qr-punch-action-btn{position:relative;padding:1.15rem .5rem;font-size:1rem;font-weight:700;border-radius:.85rem;border:2px solid var(--qr-primary-dark);background:var(--qr-primary-dark);color:#fff;cursor:pointer;transition:transform .1s ease,background .15s ease,border-color .15s ease}.qr-punch-action-btn:hover:not(:disabled){background:#1e293b;border-color:#1e293b;transform:translateY(-1px)}.qr-punch-action-btn:disabled{background:#e2e8f0;border-color:#e2e8f0;color:#94a3b8;opacity:1;cursor:not-allowed;transform:none}.qr-punch-action-btn--late,.qr-punch-action-btn--early{border-color:var(--qr-warn);background:var(--qr-warn);color:#fff}.qr-punch-action-btn--late:hover:not(:disabled),.qr-punch-action-btn--early:hover:not(:disabled){background:#b45309;border-color:#b45309}.qr-punch-action-btn--leave{border-color:var(--qr-leave);background:var(--qr-leave);color:#fff}.qr-punch-action-btn--leave:hover:not(:disabled){background:var(--qr-leave-dark);border-color:var(--qr-leave-dark)}.qr-punch-action-btn--move{border-color:#0f766e;background:#0f766e;color:#fff}.qr-punch-action-btn--move:hover:not(:disabled){background:#115e59;border-color:#115e59}.qr-punch-action-btn--move-end{border-color:#0f766e;background:#0f766e;color:#fff}.qr-punch-action-btn--move-end:hover:not(:disabled){background:#115e59;border-color:#115e59}.qr-punch-action-btn--break{border-color:#4338ca;background:#4338ca;color:#fff}.qr-punch-action-btn--break:hover:not(:disabled){background:#3730a3;border-color:#3730a3}.qr-punch-action-btn--break-end{border-color:#4338ca;background:#4338ca;color:#fff}.qr-punch-action-btn--break-end:hover:not(:disabled){background:#3730a3;border-color:#3730a3}.qr-punch-reason-area{margin-top:1rem}.qr-punch-reason-area textarea{width:100%;min-height:90px;padding:.75rem;font-size:.95rem;border:2px solid var(--qr-border);border-radius:.6rem;resize:vertical}.qr-punch-secondary-btn{margin-top:.75rem;background:transparent;border:none;color:var(--qr-text-muted);font-size:.85rem;cursor:pointer;text-decoration:underline}.qr-punch-success{text-align:center;padding:2rem 1rem}.qr-punch-success-icon{width:72px;height:72px;border-radius:50%;background:var(--qr-success);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 1rem}.qr-punch-success-msg{font-size:1.25rem;font-weight:700}.qr-punch-expired{text-align:center;padding:2.5rem 1rem}.qr-punch-expired h2{color:var(--qr-danger);margin-bottom:.5rem}.qr-punch-expired p{color:var(--qr-text-muted);font-size:.95rem}.qr-display-overlay{position:fixed;inset:0;background:#0f172ac7;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.qr-display-panel{background:#fff;border-radius:1.5rem;padding:2.5rem 3rem;max-width:640px;width:100%;text-align:center;box-shadow:0 30px 60px -20px #0f172a59;position:relative}.qr-display-close{position:absolute;top:.85rem;right:1rem;background:transparent;border:none;font-size:1.5rem;color:var(--qr-text-muted);cursor:pointer}.qr-display-qr-wrap{display:inline-flex;padding:1.25rem;background:#fff;border-radius:1rem;box-shadow:0 6px 16px -4px #0f172a26}.qr-display-countdown{margin-top:1.5rem;font-size:1rem;color:var(--qr-text-muted)}.qr-display-countdown strong{color:var(--qr-primary-dark);font-size:1.4rem;font-variant-numeric:tabular-nums;margin:0 .25rem}.qr-display-hint{margin-top:1rem;font-size:.85rem;color:var(--qr-text-muted)}.qr-display-steps{margin:30px auto 0;padding:0;list-style:none;counter-reset:step;text-align:left;display:flex;flex-direction:column;gap:1rem}.qr-display-steps li{counter-increment:step;display:flex;align-items:center;gap:.85rem;font-size:1.35rem;font-weight:700;color:var(--qr-text);line-height:1.4}.qr-display-steps li:before{content:counter(step);flex-shrink:0;width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#374151;color:#fff;font-size:1.3rem}.qr-display-store-select{margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;color:var(--qr-text-muted)}.qr-display-store-select select{font-size:.95rem;padding:.35rem .75rem;border-radius:.4rem;border:1px solid var(--qr-border);background:#fff}.header-qr-btn{background:linear-gradient(135deg,var(--qr-primary),var(--qr-primary-dark));color:#fff;border:none;border-radius:.5rem;padding:.45rem .95rem;font-size:.9rem;font-weight:700;cursor:pointer;margin-right:.5rem}.header-qr-btn:hover{filter:brightness(1.05)}.accounting-theme{--acc-primary: #4a6fff;--acc-primary-hover: #3959d9;--acc-primary-light: #7e98ff;--acc-accent: #4a6fff;--acc-accent-hover: #3959d9;--acc-accent-soft: #e8f0fe;--acc-header-text: #2962ff;--acc-border: #e0e0e0;--acc-input-border: #ced4da;--acc-th-bg: #f1f3f4;--acc-th-text: #333333;--acc-ink: #333333;--acc-muted: #666666;--acc-bg: #f8f9fa;--acc-shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--acc-shadow-md: 0 4px 8px rgba(0, 0, 0, .1);--acc-header-height: 72px;--acc-side-width: 250px}.acc-header{position:fixed;top:0;left:0;right:0;z-index:999;background-color:#fff;box-shadow:0 2px 4px #0000001a}.acc-header-content{display:flex;align-items:center;justify-content:space-between;padding:15px}.acc-header-left{display:flex;align-items:center;gap:15px}.acc-hamburger{display:none;align-items:center;justify-content:center;padding:8px;color:var(--acc-header-text);background:none;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.acc-hamburger:hover{background-color:#e4e6e8}.acc-header-right{display:flex;align-items:center;gap:20px}.acc-user-badge-container{position:relative}.acc-user-badge{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:50px;cursor:pointer;transition:background-color .2s}.acc-user-badge:hover{background-color:#e4e6e8}.acc-user-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--acc-muted);background-color:#fff;border:1px solid #ddd;border-radius:50%}.acc-user-dropdown{position:absolute;top:100%;right:0;margin-top:5px;min-width:220px;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #00000026;z-index:1000}.acc-user-dropdown-header{padding:15px 15px 10px}.acc-user-real-name{margin-bottom:2px;font-size:15px;font-weight:600;color:#000}.acc-user-store{margin-bottom:4px;font-size:14px;color:var(--acc-muted)}.acc-user-sub{font-size:12px;color:var(--acc-muted)}.acc-user-dropdown-divider{height:1px;background-color:#f1f1f1}.acc-user-dropdown ul{list-style:none;padding:5px 0;margin:0}.acc-user-dropdown li{padding:10px 15px;font-size:14px;color:var(--acc-ink);cursor:pointer}.acc-user-dropdown li:hover{background-color:#f5f5f5}.admin-shell{display:flex;align-items:stretch;min-height:100vh;padding-top:var(--acc-header-height);background:var(--acc-bg)}.side-menu{position:fixed;left:0;top:0;z-index:900;width:var(--acc-side-width);height:100vh;padding-top:100px;overflow-y:auto;background-color:#fff;box-shadow:2px 0 5px #0000000d;transition:transform .3s ease-in-out}.side-menu.open{transform:translate(0)}.side-menu.closed{transform:translate(-230px);overflow:hidden}.side-menu-nav{display:flex;flex-direction:column;gap:24px}.side-menu-section{margin:0;padding:8px 20px 12px;font-size:12px;font-weight:600;letter-spacing:.5px;color:#6c757d;border-bottom:1px solid #f0f0f0}.side-menu-list{list-style:none;padding:0;margin:0}.side-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 20px;font-size:14px;font-weight:500;color:#555;text-align:left;text-decoration:none;background:none;border:0;border-left:3px solid transparent;cursor:pointer;transition:all .2s ease}.side-menu-item:hover{background-color:#f8f9fa;color:var(--acc-primary)}.side-menu-item.active{background-color:var(--acc-accent-soft);border-left-color:var(--acc-primary);color:var(--acc-primary);font-weight:600}.side-menu-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.side-menu-label{white-space:nowrap;overflow:hidden}.side-menu::-webkit-scrollbar{width:6px}.side-menu::-webkit-scrollbar-track{background:#f1f1f1}.side-menu::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.side-menu-toggle{position:fixed;left:210px;top:100px;z-index:900;display:flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;transition:left .3s ease-in-out}.side-menu-toggle svg{transition:transform .3s ease-in-out}.side-menu-toggle.closed{left:10px}.side-menu-toggle.closed svg{transform:rotate(180deg)}.side-menu-overlay{display:none}.accounting-theme .main-content.admin-content{flex:1;min-width:0;margin:0 0 32px var(--acc-side-width);padding:0 30px;transition:margin-left .3s ease-in-out}.admin-shell.sidebar-collapsed .admin-content{margin-left:20px}.settings-page{display:flex;flex-direction:column;gap:16px}.settings-page>.settings-page-head:first-child{margin-top:24px}.settings-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#fff;padding:20px 28px;border-radius:8px;border:1px solid var(--acc-border);box-shadow:var(--acc-shadow-sm)}.settings-page-head h2{margin:0 0 6px;font-size:22px;font-weight:700;color:var(--acc-ink)}.settings-page-desc{font-size:13px;color:var(--acc-muted);line-height:1.6;margin:0;max-width:640px}.settings-saved{color:#28a745;font-size:13px;margin:0}.settings-page .rounding-groups{background:#fff;padding:20px 24px;border-radius:8px;border:1px solid var(--acc-border);box-shadow:var(--acc-shadow-sm)}.settings-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.settings-card{display:flex;align-items:flex-start;gap:14px;background:#fff;padding:20px 22px;border-radius:8px;border:1px solid var(--acc-border);box-shadow:var(--acc-shadow-sm);text-decoration:none;transition:all .2s ease}.settings-card:hover{border-color:var(--acc-primary);transform:translateY(-1px);box-shadow:var(--acc-shadow-md)}.settings-card-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--acc-primary)}.settings-card-body{display:flex;flex-direction:column;gap:6px;min-width:0}.settings-card-title{font-size:16px;font-weight:600;color:var(--acc-ink)}.settings-card-desc{font-size:13px;color:var(--acc-muted);line-height:1.6}.accounting-theme .admin-header{position:sticky;top:var(--acc-header-height);z-index:20;background:var(--acc-bg);box-shadow:none;border-radius:0;padding:24px 0 12px;border-bottom:1px solid var(--acc-border)}.accounting-theme .admin-header h2{font-size:22px;font-weight:700;color:var(--acc-ink)}.accounting-theme .selected-store-name{font-size:14px;font-weight:600;padding:10px 14px;color:var(--acc-primary);background:var(--acc-accent-soft);border:1px solid var(--acc-primary);border-radius:6px}.accounting-theme .filter-select,.accounting-theme .month-input{padding:10px 12px;font-size:14px;color:var(--acc-ink);background-color:#fff;border:1px solid var(--acc-input-border);border-radius:6px;transition:border-color .2s ease}.accounting-theme .filter-select:focus,.accounting-theme .month-input:focus,.accounting-theme .rounding-table select:focus,.accounting-theme .rounding-bulk-field select:focus,.accounting-theme .rounding-bulk-field input:focus,.accounting-theme .rounding-grace-input:focus,.accounting-theme .bh-time-input:focus,.accounting-theme .monthly-history-controls select:focus,.accounting-theme .form-group input:focus,.accounting-theme .form-group select:focus,.accounting-theme .form-group textarea:focus{outline:none;border-color:var(--acc-primary);box-shadow:0 0 0 2px #4a6fff1a}.accounting-theme .rounding-table select,.accounting-theme .rounding-bulk-field select,.accounting-theme .rounding-bulk-field input,.accounting-theme .rounding-grace-input,.accounting-theme .bh-time-input,.accounting-theme .monthly-history-controls select,.accounting-theme .form-group input,.accounting-theme .form-group select,.accounting-theme .form-group textarea{border:1px solid var(--acc-input-border);border-radius:6px;transition:border-color .2s ease}.accounting-theme .btn-csv{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;color:var(--acc-primary);background-color:transparent;border:1px solid var(--acc-primary);border-radius:4px;white-space:nowrap;cursor:pointer;transition:all .2s ease}.accounting-theme .btn-csv:hover:not(:disabled){color:#fff;background-color:var(--acc-primary);transform:translateY(-1px)}.accounting-theme .btn-csv:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d;opacity:.6;cursor:not-allowed;transform:none}.accounting-theme .btn-csv-fill{color:#fff;background-color:var(--acc-primary);border-color:var(--acc-primary)}.accounting-theme .btn-csv-fill:hover:not(:disabled){background-color:var(--acc-primary-hover);border-color:var(--acc-primary-hover)}.accounting-theme .btn-edit{padding:6px 12px;font-size:12px;font-weight:500;color:#fff;background:var(--acc-primary);border:none;border-radius:4px;transition:all .2s ease}.accounting-theme .btn-edit:hover{background:var(--acc-primary-hover);transform:translateY(-1px)}.accounting-theme .master-add-btn{padding:10px 20px;font-size:14px}.accounting-theme .modal-cancel-btn{display:inline-flex;align-items:center;justify-content:center;width:auto;padding:10px 20px;font-size:14px;font-weight:500;white-space:nowrap;color:#212529;background-color:#f8f9fa;border:1px solid var(--acc-border);border-radius:4px;transition:all .2s ease}.accounting-theme .modal-cancel-btn:hover{background-color:#e9ecef;transform:translateY(-1px)}.accounting-theme .modal-submit-btn{padding:10px 20px;font-size:14px;font-weight:500;color:#fff;background-color:var(--acc-primary);border:none;border-radius:4px;transition:all .2s ease}.accounting-theme .modal-submit-btn:hover:not(:disabled){background-color:var(--acc-primary-hover);transform:translateY(-1px)}.accounting-theme .rounding-preview-btn{padding:6px 12px;font-size:12px;font-weight:500;color:var(--acc-primary);background:#fff;border:1px solid var(--acc-primary);border-radius:4px;transition:all .2s ease}.accounting-theme .rounding-preview-btn:hover{color:#fff;background:var(--acc-primary);border-color:var(--acc-primary)}.accounting-theme .summary-toggle-icon{color:var(--acc-primary)}.accounting-theme .detail-tab{padding:8px 16px;font-size:13px;font-weight:500;color:var(--acc-muted);background-color:#fff;border:1px solid var(--acc-border);border-radius:4px;transition:all .2s ease}.accounting-theme .detail-tab:hover{color:var(--acc-primary);border-color:var(--acc-primary)}.accounting-theme .detail-tab.active{color:#fff;background-color:var(--acc-primary);border-color:var(--acc-primary)}.accounting-theme .admin-table-wrap{border:1px solid var(--acc-border);border-radius:12px;box-shadow:none;max-height:calc(100vh - 268px)}.accounting-theme .timecard-body{max-height:calc(100vh - 268px)}.accounting-theme .timecard-foot-table{border-top:2px solid var(--acc-border);box-shadow:none;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.accounting-theme .admin-table th{background-color:var(--acc-th-bg);color:var(--acc-th-text);font-weight:700}.accounting-theme .admin-table th,.accounting-theme .admin-table td{border-bottom:1px solid var(--acc-border)}.accounting-theme .admin-table tr:hover td{background-color:#f8f9fa}.accounting-theme .summary-store-table td.col-business{color:var(--acc-ink)}.accounting-theme .admin-summary-row td,.accounting-theme .summary-split-table .admin-summary-row td{background-color:#eef1ff!important;color:var(--acc-ink)}.accounting-theme .summary-store-table tbody tr:not(.admin-summary-row):hover td{background-color:var(--acc-accent-soft)}.accounting-theme .no-data{background:#fff;border:1px solid var(--acc-border);border-radius:12px;box-shadow:none}.accounting-theme .badge-corrected{color:var(--acc-primary);background-color:var(--acc-accent-soft);border-color:var(--acc-primary-light)}.accounting-theme .modal-card{border-radius:12px;box-shadow:0 10px 25px #0003}.accounting-theme .modal-title{font-size:18px;font-weight:600}.accounting-theme .modal-option-btn{border:1px solid var(--acc-border);border-radius:8px;transition:all .2s ease}.accounting-theme .modal-option-btn:hover{border-color:var(--acc-primary);background-color:var(--acc-accent-soft)}.accounting-theme .rounding-store-group{border-color:var(--acc-border);border-radius:8px}.accounting-theme .rounding-bulk{background:var(--acc-accent-soft);border-color:var(--acc-primary-light);border-radius:8px}.accounting-theme .rounding-bulk-title{color:var(--acc-primary-hover)}.accounting-theme .rounding-preview-table thead tr{background:var(--acc-th-bg)}.accounting-theme .rounding-preview-mark{box-shadow:inset 3px 0 0 var(--acc-primary)}.accounting-theme .rounding-preview-tag{background:var(--acc-primary)}.accounting-theme .rounding-table-wrap{max-height:calc(100vh - 200px)}.accounting-theme .help-icon:hover,.accounting-theme .help-icon:focus{color:var(--acc-primary)}.accounting-theme a.btn-csv,.accounting-theme a.btn-edit{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.correction-header-actions{display:flex;align-items:center;gap:8px}.accounting-theme .btn-csv-reject{color:#fff;background-color:#fd7e14;border-color:#fd7e14}.accounting-theme .btn-csv-reject:hover:not(:disabled){background-color:#e86800;border-color:#e86800}.correction-count-badge{display:inline-block;margin-left:12px;padding:4px 12px;font-size:12px;font-weight:700;color:#856404;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:16px;vertical-align:middle}.correction-status{display:inline-block;padding:4px 12px;font-size:12px;font-weight:700;border-radius:16px;white-space:nowrap}.admin-header h2 .correction-status{margin-left:12px;vertical-align:middle}.correction-status-pending,.correction-status-store_approved{color:#856404;background-color:#fff3cd;border:1px solid #ffeaa7}.correction-status-approved{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.correction-status-rejected{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.correction-row-sub{margin-left:4px;font-size:12px;color:var(--acc-muted)}.correction-info-card{display:flex;flex-direction:column;gap:12px;background:#fff;padding:20px 24px;border:1px solid var(--acc-border);border-radius:12px}.correction-info-row{display:flex;gap:16px;font-size:14px}.correction-info-label{flex-shrink:0;width:96px;font-weight:600;color:var(--acc-muted)}.correction-info-value{color:var(--acc-ink);line-height:1.6}.correction-section-title{margin:24px 0 12px;font-size:16px;font-weight:600;color:var(--acc-ink)}.accounting-theme .correction-diff-wrap{max-height:none}.correction-col-field{width:120px}.correction-before{color:var(--acc-muted);text-decoration:line-through}.correction-after{font-weight:700;color:var(--acc-primary)}.correction-decision-modal{width:420px;text-align:left}.correction-modal-note{margin-bottom:12px;font-size:13px;color:var(--acc-muted);line-height:1.6}.correction-required{margin-left:6px;padding:1px 6px;font-size:11px;color:#721c24;background-color:#f8d7da;border-radius:4px}.correction-decision-modal .reason-textarea{width:100%}@media(max-width:768px){.acc-hamburger{display:flex}.acc-header-content{padding:15px 20px}.side-menu{width:280px;z-index:1100;padding-top:44px;padding-bottom:24px;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.side-menu.closed{transform:translate(-280px)}.side-menu-toggle{display:none}.side-menu-overlay{display:block;position:fixed;inset:0;z-index:1050;background-color:#00000080;touch-action:none}.accounting-theme .main-content.admin-content{margin-left:0;padding:0 15px}.admin-shell.sidebar-collapsed .admin-content{margin-left:0}.accounting-theme .admin-header{position:static;padding-top:16px}.accounting-theme .admin-table-wrap{max-height:calc(100vh - 200px)}}.correction-request-sent{margin:4px 0 16px;padding-top:12px;border-top:1px solid #e3e6eb}.correction-request-sent-title{margin:0 0 8px;font-size:13px;font-weight:600;color:#374151}.correction-request-sent-list{margin:0;padding:0;list-style:none;max-height:180px;overflow-y:auto}.correction-request-sent-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;margin-bottom:6px;background:#f7f8fa;border-radius:6px;font-size:12px}.correction-request-sent-staff{display:flex;align-items:center;gap:8px;font-weight:600;color:#1f2937}.correction-request-sent-done{padding:1px 6px;background:#d1fae5;color:#065f46;border-radius:999px;font-size:11px;font-weight:500}.correction-request-sent-comment{color:#374151;line-height:1.5;white-space:pre-wrap}.correction-request-sent-meta{color:#6b7280;font-size:11px}.master-page{max-width:1100px}.master-add-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.master-head-actions{display:flex;align-items:center;gap:8px}.master-area-order-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.master-area-order-row input{width:90px;text-align:right}.master-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid var(--acc-border);border-radius:12px;overflow:hidden}.master-table th,.master-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--acc-border);white-space:nowrap}.master-table thead th{background:var(--acc-th-bg);color:var(--acc-th-text);font-size:12px;font-weight:700}.master-table tbody tr:last-child td{border-bottom:0}.master-table tbody tr:hover{background:var(--acc-accent-soft)}.master-cell-name{font-weight:700;color:var(--acc-ink)}.master-cell-flag{text-align:center;color:var(--acc-accent);font-weight:700}.master-row-inactive,.master-row-inactive .master-cell-name{color:#94a3b8}.master-col-actions{text-align:right;width:96px}.master-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:4px;color:var(--acc-th-text);background:none;border:1px solid var(--acc-border);border-radius:6px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.master-icon-btn:hover{background:var(--acc-accent-soft);color:var(--acc-accent-hover);border-color:var(--acc-accent)}.master-icon-btn-danger:hover{background:#fef2f2;color:#dc2626;border-color:#fca5a5}.master-kind,.master-role{display:inline-block;padding:2px 8px;font-size:12px;font-weight:700;border-radius:999px}.master-kind-shop{background:#eff6ff;color:#1d4ed8}.master-kind-venue{background:#f0fdf4;color:#15803d}.master-kind-other,.master-role-一般{background:#f1f5f9;color:#64748b}.master-role-店舗{background:#eff6ff;color:#1d4ed8}.master-role-経理部{background:#fef3c7;color:#b45309}.master-role-アドミン{background:#ede9fe;color:#6d28d9}.master-modal{max-width:560px;width:92vw;text-align:left}.master-form{display:flex;flex-direction:column;gap:14px;margin:8px 0 16px}.master-field-row{display:flex;gap:14px}.master-field-row .master-field{flex:1}.master-field{display:flex;flex-direction:column;gap:4px}.master-field-label{font-size:12px;font-weight:700;color:var(--acc-th-text)}.master-field input,.master-field select{padding:8px 10px;font-size:14px;color:var(--acc-ink);border:1px solid var(--acc-border);border-radius:6px;background:#fff}.master-field input:focus,.master-field select:focus{outline:none;border-color:var(--acc-accent);box-shadow:0 0 0 2px var(--acc-accent-soft)}.master-field input:disabled{background:#f8fafc;color:#94a3b8}.master-field .password-field input{padding-right:40px}.master-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--acc-ink);cursor:pointer}.master-checkbox input{margin-top:2px}.master-delete-text{margin:8px 0 16px;font-size:14px;color:var(--acc-ink)}.master-delete-btn{background:#dc2626}.master-delete-btn:hover:not(:disabled){background:#b91c1c}@media(max-width:640px){.master-field-row{flex-direction:column}}.master-readonly-list{margin:0 0 8px;padding:12px 14px;background:#f7f8fa;border:1px solid #e3e6eb;border-radius:8px}.master-readonly-row{display:flex;gap:12px;padding:3px 0;font-size:13px}.master-readonly-row dt{flex:0 0 88px;color:#6b7280}.master-readonly-row dd{margin:0;color:#1f2937;font-weight:500}.master-readonly-note{margin:0 0 16px;font-size:12px;color:#6b7280;line-height:1.6}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fffbeb;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.header{background-color:#fbbf24;color:#fff;padding:0 24px;height:60px;display:flex;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #fbbf244d}.header-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:none}.header-title{font-size:20px;font-weight:700}.header-title a{color:#fff;text-decoration:none}.header-store-name{color:#fff;font-size:18px;font-weight:700;padding:6px 14px;background-color:#ffffff2e;border-radius:8px;margin-right:20px;white-space:nowrap}.header-datetime{display:flex;flex-direction:column;color:#fff;font-weight:700;line-height:1.2}.header-date{font-size:14px}.header-time{font-size:18px;letter-spacing:.05em}.header-nav{display:flex;align-items:center;gap:16px;margin-left:auto}.header-history-btn{background-color:#ffffff2e;border:none;color:#fff;padding:8px 18px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:700;transition:background-color .2s,transform .1s}.header-history-btn:hover{background-color:#ffffff52;opacity:1}.header-history-btn:active{transform:scale(.97)}.header-reception-btn{display:inline-flex;align-items:center;background-color:#16a34a;color:#fff;text-decoration:none;padding:8px 18px;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .2s,transform .1s}.header-reception-btn:hover{background-color:#15803d}.header-reception-btn:active{transform:scale(.97)}.nav-link{color:#fff;text-decoration:none;font-size:15px;font-weight:700;transition:opacity .2s}.nav-link:hover{opacity:.8}.logout-btn{background-color:#a9a9a9;border:none;color:#fff;padding:8px 18px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:700;transition:background-color .2s,transform .1s}.logout-btn:hover{background-color:#8b8b8b}.logout-btn:active{transform:scale(.97)}.header-user-menu{position:relative;display:inline-flex}.header-logout-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:#fff;background-color:#ffffff2e;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,transform .1s}.header-logout-icon-btn:hover{background-color:#ffffff52}.header-logout-icon-btn:active{transform:scale(.97)}.header-user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background-color:#fff;border-radius:10px;box-shadow:0 6px 20px #0000002e;padding:6px;z-index:200}.header-dropdown-item{display:block;width:100%;padding:10px 14px;font-size:14px;font-weight:700;text-align:left;color:#333;background:none;border:none;border-radius:8px;cursor:pointer;transition:background-color .15s,color .15s}.header-dropdown-item:hover{background-color:#fef2f2;color:#dc2626}.main-content{max-width:none;padding:0 24px}.loading{text-align:center;padding:48px;font-size:20px;font-weight:700;color:#f59e0b}.error-message{background-color:#fce8e8;color:#dc3545;padding:12px 16px;border-radius:8px;margin:12px 0;font-size:15px;font-weight:700}.success-message{background-color:#fffbeb;color:#f59e0b;padding:12px 16px;border-radius:8px;margin:12px 0;font-size:15px;font-weight:700;border:1px solid #FBBF24}.login-page{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background-color:#fffbeb;padding:16px;gap:24px}.login-card{width:520px;max-width:calc(100% - 32px);padding:32px;background-color:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a;text-align:center}.login-title{font-size:28px;font-weight:700;color:#333;margin-bottom:28px}.login-form{display:flex;flex-direction:column;gap:0}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;text-align:left}.form-group label{font-size:18px;font-weight:700;color:#555}.form-group input,.form-group select,.form-group textarea{padding:14px 16px;border:2px solid #ddd;border-radius:10px;font-size:18px;outline:none;transition:border-color .2s;background-color:#fff;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#fbbf24}.form-group textarea{resize:vertical;font-size:16px}.password-field{position:relative;display:block;width:100%}.password-field input{width:100%;padding-right:44px}.password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:#6b7280;cursor:pointer;transition:color .2s,background-color .2s}.password-toggle:hover:not(:disabled){color:#374151;background-color:#0000000d}.password-toggle:disabled{color:#cbd5e1;cursor:not-allowed}.btn{display:block;width:100%;padding:18px;font-size:22px;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:background-color .2s,transform .1s;margin-bottom:14px}.btn:active{transform:scale(.97)}.btn:disabled{background-color:#d1d5db!important;color:#9ca3af!important;cursor:not-allowed;opacity:1}.submit-btn{display:block;width:100%;padding:18px;font-size:20px;font-weight:700;border:none;border-radius:12px;background-color:#fbbf24;color:#fff;cursor:pointer;margin-top:8px;transition:background-color .2s,transform .1s}.submit-btn:hover:not(:disabled){background-color:#f59e0b}.submit-btn:active{transform:scale(.97)}.submit-btn:disabled{background-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.dashboard{display:flex;flex-direction:column;gap:24px}.dashboard-entry-centered{min-height:calc(100vh - 124px);justify-content:center}.dashboard-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;overflow:hidden}.dashboard-card-narrow{max-width:520px;margin:0 auto;width:100%}.dashboard-header{padding:24px 28px;border-bottom:1px solid #f0f0f0}.dashboard-header h2{font-size:24px;font-weight:700;color:#333;margin-bottom:6px}.today-date{font-size:16px;color:#666;display:flex;align-items:center;gap:10px}.current-time{font-variant-numeric:tabular-nums}.dashboard-wrapper{display:flex;gap:20px;align-items:flex-start}.dashboard-session,.dashboard-main{flex:1}.dashboard:not(.dashboard-entry-centered) .dashboard-wrapper{align-items:stretch;min-height:calc(100vh - 124px)}.dashboard:not(.dashboard-entry-centered) .dashboard-main{display:flex;flex-direction:column}.dashboard:not(.dashboard-entry-centered) .dashboard-main .dashboard-card{flex:1;display:flex;flex-direction:column}.dashboard:not(.dashboard-entry-centered) .attendance-button-area{flex:1;justify-content:center}.attendance-button-area{padding:24px 28px;display:flex;flex-direction:column;gap:16px}.status-badge{display:flex;align-items:center;gap:16px}.status-indicator{display:inline-block;padding:6px 18px;border-radius:20px;font-size:15px;font-weight:700}.status-not_clocked_in{background-color:#f5f5f5;color:#666}.status-clocked_in{background-color:#fffbeb;color:#f59e0b;border:2px solid #FBBF24}.status-clocked_out{background-color:#f5f5f5;color:#666}.time-info{font-size:16px;color:#555;font-weight:700}.session-type-select{text-align:left}.session-type-select label{display:block;font-size:18px;font-weight:700;margin-bottom:8px;color:#555}.session-type-select select{width:100%;padding:14px;font-size:18px;border:2px solid #ddd;border-radius:10px;outline:none;background-color:#fff}.session-type-select select:focus{border-color:#fbbf24}.button-group{display:flex;flex-direction:row;gap:12px}.attendance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.attendance-grid .btn{margin-bottom:0;padding:22px 12px;font-size:20px;color:#fff}.btn-clock-in{background-color:#fbbf24;color:#fff;flex:1;margin-bottom:0}.btn-clock-in:hover:not(:disabled){background-color:#f59e0b}.btn-clock-out{background-color:#a9a9a9;color:#fff;flex:1;margin-bottom:0}.btn-clock-out:hover:not(:disabled){background-color:#8b8b8b}.btn-late{background-color:#f87171}.btn-late:hover:not(:disabled){background-color:#ef4444}.btn-early{background-color:#fb923c}.btn-early:hover:not(:disabled){background-color:#f97316}.btn-move-start{background-color:#3b82f6}.btn-move-start:hover:not(:disabled){background-color:#2563eb}.btn-move-end{background-color:#3b82f6}.btn-move-end:hover:not(:disabled){background-color:#2563eb}.btn-break-in{background-color:#10b981}.btn-break-in:hover:not(:disabled){background-color:#059669}.btn-break-out{background-color:#10b981}.btn-break-out:hover:not(:disabled){background-color:#059669}.reason-textarea{width:100%;padding:12px 14px;border:2px solid #ddd;border-radius:10px;font-size:16px;font-family:inherit;outline:none;transition:border-color .2s;resize:vertical;margin-bottom:16px}.reason-textarea:focus{border-color:#fbbf24}.modal-actions{display:flex;gap:12px}.modal-actions .modal-cancel-btn,.modal-actions .modal-submit-btn{flex:1}.modal-submit-btn{background-color:#fbbf24;color:#fff;border:none;padding:14px;font-size:16px;font-weight:700;border-radius:10px;cursor:pointer;transition:background-color .2s,transform .1s}.modal-submit-btn:hover:not(:disabled){background-color:#f59e0b}.modal-submit-btn:active{transform:scale(.97)}.modal-submit-btn:disabled{background-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.staff-selector{padding:24px 28px}.staff-selector-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.staff-selector-title{font-size:18px;font-weight:700;color:#555}.staff-entry{padding:24px 28px}.staff-entry-input{width:100%;padding:16px 18px;font-size:24px;font-weight:700;text-align:center;letter-spacing:4px;color:#333;background-color:#fff;border:2px solid #ddd;border-radius:12px;outline:none;font-variant-numeric:tabular-nums;transition:border-color .15s}.staff-entry-input::placeholder{font-size:18px;font-weight:400;letter-spacing:normal;color:silver}.staff-entry-input:focus{border-color:#fbbf24}.staff-entry-error{text-align:center;margin:12px 0 0}.keypad-confirm-btn{width:100%;margin-top:16px;background-color:#fbbf24;color:#fff}.keypad-confirm-btn:hover:not(:disabled){background-color:#f59e0b}.selected-staff-banner{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;margin:0 0 28px;padding:0}.selected-staff-info{display:flex;align-items:center;gap:14px}.selected-staff-avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background-color:#fbbf24;color:#fff;font-size:22px;font-weight:700}.selected-staff-text{display:flex;flex-direction:column}.selected-staff-name{font-size:36px;font-weight:700;color:#333;white-space:nowrap;line-height:1.1}.staff-change-btn{font-size:14px;font-weight:700;color:#f59e0b;background-color:#fff;border:1px solid #FBBF24;border-radius:10px;padding:8px 16px;cursor:pointer;white-space:nowrap;transition:background-color .15s}.staff-change-btn:hover{background-color:#fffbeb}.staff-history-btn{font-size:14px;font-weight:700;color:#fff;background-color:#fbbf24;border:1px solid #FBBF24;border-radius:10px;padding:8px 16px;cursor:pointer;white-space:nowrap;transition:background-color .15s}.staff-history-btn:hover{background-color:#f59e0b}.session-list{background:#fff;padding:20px;border-radius:16px;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column;max-height:calc(100vh - 120px);overflow:hidden}.session-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-shrink:0}.session-list h3{font-size:18px;font-weight:700;color:#333;margin-bottom:14px;flex-shrink:0}.session-list-head h3{margin-bottom:0}.session-table-wrap{flex:1;overflow-y:auto}.no-sessions{text-align:center;color:#999;padding:20px;font-size:14px}.session-table,.history-table{width:100%;border-collapse:collapse;font-size:15px}.session-table th,.session-table td,.history-table th,.history-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #f0f0f0}.session-table th,.history-table th{background-color:#fffbeb;font-weight:700;color:#555;white-space:nowrap}.session-table tr:last-child td,.history-table tr:last-child td{border-bottom:none}.history-table .correction-row{background-color:#fffbeb}.history-page h2{font-size:24px;font-weight:700;color:#333;margin-bottom:20px}.month-selector{display:flex;align-items:center;gap:12px;margin-bottom:16px;background:#fff;padding:20px 24px;border-radius:16px;box-shadow:0 4px 12px #00000014}.month-selector label{font-size:16px;font-weight:700;color:#555}.month-selector input{padding:10px 14px;border:2px solid #ddd;border-radius:10px;font-size:16px;outline:none}.month-selector input:focus{border-color:#fbbf24}.history-count{font-size:14px;color:#666;margin-bottom:12px}.history-table{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;overflow:hidden}.admin-attendance{display:flex;flex-direction:column;gap:20px}.admin-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#fff;padding:20px 28px;border-radius:16px;box-shadow:0 4px 12px #00000014}.admin-store-selector{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-select-store,.filter-select-staff{min-width:160px}.selected-store-name{font-size:16px;font-weight:700;color:#333;padding:8px 16px;background:#fffbeb;border-radius:10px;border:2px solid #FBBF24}.admin-layout{display:flex;gap:20px;align-items:flex-start}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}.admin-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#fff;padding:16px 20px;border-radius:16px;box-shadow:0 4px 12px #00000014}.admin-controls-left{display:flex;align-items:center;gap:12px}.admin-store-label{font-size:16px;font-weight:700;color:#555}.admin-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.filter-select{padding:10px 14px;font-size:15px;border:2px solid #ddd;border-radius:10px;outline:none;background:#fff}.filter-select:focus{border-color:#fbbf24}.admin-header h2{font-size:22px;font-weight:700;color:#333}.month-input{padding:10px 14px;font-size:15px;border:2px solid #ddd;border-radius:10px;outline:none}.month-input:focus{border-color:#fbbf24}.admin-table-wrap{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;max-height:calc(100vh - 180px);overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f0f0f0;font-size:14px}.admin-table th{background-color:#fffbeb;color:#7c6b2c;font-weight:700;font-size:13px;position:sticky;top:0;z-index:1}.admin-table tr:hover td{background-color:#fafafa}.summary-store-table tbody tr:not(.admin-summary-row):hover td{background-color:#e2e8f0}.date-cell{font-weight:700;color:#444;vertical-align:top;white-space:nowrap}.no-data{text-align:center;color:#999;padding:40px;background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014}.timecard-table th,.timecard-table td{padding:3px 10px;vertical-align:middle}.tc-col-date{white-space:nowrap}.tc-col-staff{white-space:nowrap;min-width:72px}.tc-col-gross,.tc-col-work,.tc-col-gap,.tc-col-break{text-align:center;white-space:nowrap}.tc-col-edit{text-align:center}.timecard-gross{white-space:nowrap}.timecard-work{font-weight:700;white-space:nowrap}.tc-col-sessions{width:100%}.sessions-cell{padding:2px 8px}.sessions-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.session-block{flex:0 0 auto;display:flex;flex-direction:column;gap:1px;padding:3px 10px;border:1px solid #eee;border-radius:8px;background:#fafafa}.session-block.session-shop{border-color:#fed7aa;background:#fff7ed}.session-block.session-venue,.session-block.session-office{border-color:#bfdbfe;background:#eff6ff}.session-block.session-move{border-color:#e5e7eb;background:#f3f4f6}.session-time{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.session-store-line{display:flex;align-items:center;gap:4px;font-size:11px;color:#777;white-space:nowrap}.session-type{font-weight:700;color:#555}.session-sep{color:#bbb}.btn-edit{padding:5px 12px;background:#fbbf24;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.btn-edit:hover{background:#f59e0b}.correction-modal{width:480px;max-height:90vh;overflow-y:auto}.correction-modal-target{font-size:15px;font-weight:700;color:#555;margin-bottom:16px;text-align:center}.correction-modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}.correction-modal .form-group{gap:6px;margin-bottom:12px}.correction-modal .form-group label{font-size:14px}.correction-modal .form-group input,.correction-modal .form-group select{padding:8px 12px;font-size:14px;border-width:1px;border-radius:8px}.correction-modal-actions .modal-cancel-btn{padding:8px 16px;font-size:13px;border-radius:8px;border:1px solid transparent}.nav-link-admin{background-color:#fbbf24;color:#fff!important;padding:6px 14px;border-radius:8px;font-weight:700}.nav-link-admin:hover{background-color:#f59e0b}.modal-overlay{position:fixed;inset:0;background-color:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.modal-card{background:#fff;border-radius:16px;padding:32px 28px 24px;width:360px;max-width:calc(100% - 32px);box-shadow:0 8px 24px #00000026}.modal-title{font-size:20px;font-weight:700;color:#333;margin-bottom:20px;text-align:center}.modal-options{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.modal-option-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;border:2px solid #ddd;border-radius:12px;background:#fff;cursor:pointer;text-align:left;transition:border-color .2s,background-color .2s}.modal-option-btn:hover{border-color:#fbbf24;background-color:#fffbeb}.modal-option-label{font-size:18px;font-weight:700;color:#333}.modal-option-desc{font-size:13px;color:#777;line-height:1.5}.modal-cancel-btn{display:block;width:100%;padding:12px;border:none;border-radius:10px;background-color:#f0f0f0;color:#666;font-size:15px;font-weight:700;cursor:pointer;transition:background-color .2s}.modal-cancel-btn:hover{background-color:#e0e0e0}@media(max-width:768px){.header-nav .nav-link{display:none}.main-content{margin:16px 0}.dashboard-wrapper{flex-direction:column-reverse}.dashboard-session{width:100%}.button-group{flex-direction:column}.btn{width:100%;margin-bottom:12px}.history-table,.session-table{display:block;overflow-x:auto;white-space:nowrap}}.summary-store-table th,.summary-store-table td{padding:3px 10px}.summary-store-table td.col-business{font-weight:700;color:#7c6b2c}.summary-store-table th,.summary-store-table td,.summary-split-table th,.summary-split-table td{text-align:center}.summary-store-table td.col-actual,.summary-split-table td.col-weekday,.summary-split-table td.col-weekend,.summary-split-table td.col-total{text-align:right}.summary-split-table th.col-weekday,.summary-split-table td.col-weekday{background-color:#f8fafc}.summary-split-table th.col-weekend,.summary-split-table td.col-weekend{background-color:#fff1f2;color:#be123c}.summary-split-table th.col-total,.summary-split-table td.col-total{background-color:#ecfdf5;font-weight:700}.summary-split-table .admin-summary-row td{background-color:#fef3c7!important}.summary-split-table thead tr:first-child th{top:0;height:28px}.summary-split-table thead tr:last-child th{top:28px;z-index:1}.admin-summary-row td{background-color:#fef3c7!important;font-weight:700;color:#7c6b2c}.summary-store-table .admin-summary-row td{position:sticky;bottom:0;z-index:2;border-top:1px solid #e5d9a8}.timecard-body{display:flex;flex-direction:column;max-height:calc(100vh - 180px)}.timecard-scroll{flex:1 1 auto;min-height:0;max-height:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.timecard-foot-table{flex:0 0 auto}.timecard-foot-table{table-layout:fixed;border-collapse:collapse;border-top:2px solid #cbd5e1;box-shadow:0 4px 12px #00000014;border-bottom-left-radius:16px;border-bottom-right-radius:16px;overflow:hidden}.cell-action{white-space:nowrap;text-align:right}.badge-corrected{display:inline-block;margin-right:8px;padding:1px 8px;font-size:11px;font-weight:700;color:#d97706;background-color:#fef3c7;border:1px solid #fcd34d;border-radius:10px}.summary-store-section{margin-top:24px}.summary-store-title{font-size:16px;font-weight:700;color:#333;margin-bottom:12px}.summary-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.summary-section-head .summary-store-title{margin-bottom:0}.summary-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;padding:0;cursor:pointer;font-size:16px;font-weight:700;color:#333}.summary-toggle-icon{font-size:11px;color:#f59e0b}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.detail-head-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.detail-export,.detail-tabs{display:flex;gap:8px}.detail-tab{padding:6px 14px;font-size:13px;font-weight:700;color:#777;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .15s}.detail-tab:hover{border-color:#fbbf24}.detail-tab.active{color:#fff;background-color:#fbbf24;border-color:#fbbf24}.cell-warn{color:#dc2626;font-weight:700}.warn-icon{position:relative;display:inline-block;margin-left:6px;cursor:help;color:#dc2626}.warn-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:130%;left:50%;transform:translate(-50%);width:max-content;max-width:240px;padding:8px 12px;background-color:#1e293b;color:#fff;font-size:12px;font-weight:400;line-height:1.5;border-radius:8px;box-shadow:0 4px 12px #0003;z-index:50;transition:opacity .15s;white-space:normal;text-align:left}.warn-icon:hover .warn-tooltip,.warn-icon:focus .warn-tooltip{visibility:visible;opacity:1}.summary-store-table{background:#fff}.btn-csv{padding:8px 16px;font-size:13px;font-weight:700;color:#f59e0b;background-color:#fff;border:1px solid #FBBF24;border-radius:8px;cursor:pointer;transition:background-color .15s}.btn-csv:hover{background-color:#fffbeb}.btn-csv:disabled{color:#bbb;border-color:#e0e0e0;background-color:#f5f5f5;cursor:not-allowed}.btn-csv-fill{color:#fff;background-color:#fbbf24}.timecard-print{position:fixed;left:-10000px;top:0;width:900px;padding:24px;background:#fff;color:#333;font-family:-apple-system,Hiragino Sans,Noto Sans JP,sans-serif}.timecard-print h3{font-size:16px;margin:0 0 12px}.timecard-print-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 12px}.timecard-print-head h3{margin:0}.timecard-print-staff{font-size:15px;font-weight:700;color:#1e293b;white-space:nowrap}.timecard-print table{border-collapse:collapse;width:100%;font-size:12px}.timecard-print th,.timecard-print td{border:1px solid #999;padding:5px 8px;text-align:left;white-space:pre}.timecard-print th{background:#f1f5f9;color:#475569}.timecard-print tr.total td{font-weight:700;background:#e2e8f0;color:#1e293b}.btn-csv-fill:hover{background-color:#f59e0b}.punch-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:13px;font-weight:700;color:#fff;margin-right:6px;margin-bottom:4px;white-space:nowrap}.punch-badge-出勤{background-color:#fbbf24}.punch-badge-退勤{background-color:#a9a9a9}.punch-badge-遅刻{background-color:#ef4444}.punch-badge-早退{background-color:#f97316}.punch-badge-移動開始,.punch-badge-移動終了{background-color:#3b82f6}.punch-badge-休憩入り,.punch-badge-休憩戻り{background-color:#10b981}.punch-badge-pair-work{background-color:#fbbf24}.punch-badge-pair-move{background-color:#3b82f6}.punch-badge-pair-break{background-color:#10b981}.punch-badge-help{background-color:#e11d48;margin-left:6px}.dashboard-monthly{width:100%;margin-top:20px}.reception-modal-text{margin-bottom:16px;color:#555}.reception-open-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background-color:#16a34a}.reception-open-btn:hover:not(:disabled){background-color:#15803d}.monthly-history{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:20px 24px;display:flex;flex-direction:column;max-height:calc(100vh - 128px);overflow:hidden}.monthly-history-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:16px;flex-wrap:wrap;flex-shrink:0}.monthly-history-scroll{flex:1;min-height:0;overflow-y:auto}.monthly-history .monthly-warning-summary{flex-shrink:0}.monthly-history-head h3{font-size:18px;font-weight:700;color:#555;margin:0}.monthly-history-controls{display:flex;align-items:center;gap:8px}.monthly-history-controls select{padding:6px 12px;border:2px solid #ddd;border-radius:8px;font-size:14px;background-color:#fff}.monthly-warning-summary{background-color:#fee2e2;color:#991b1b;padding:10px 14px;border-radius:8px;font-weight:700;margin:16px 20px 0;text-align:left}.monthly-warning-summary-button{display:block;width:calc(100% - 40px);border:none;font:inherit;cursor:pointer;transition:background-color .15s}.monthly-warning-summary-button:hover{background-color:#fecaca}.inline-warn-icon{vertical-align:-.15em;margin-right:2px}.dashboard-monthly-page{width:100%}.empty-state{padding:48px 24px;text-align:center;color:#888;font-size:15px}.monthly-table{width:100%;border-collapse:collapse;font-size:14px}.monthly-table th,.monthly-table td{padding:8px 10px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}.monthly-table th{background-color:#fffbeb;font-weight:700;color:#555;position:sticky;top:0;z-index:1}.monthly-row-warn{background-color:#fef2f2}.monthly-warning-cell{color:#b91c1c;font-size:13px}.rounding-modal{width:720px;max-width:calc(100% - 32px);max-height:84vh;overflow-y:auto;text-align:left}.rounding-modal-hint{font-size:13px;color:#666;margin-bottom:12px;line-height:1.6}.rounding-error{color:#dc2626;font-size:13px;margin-bottom:10px}.rounding-bulk{border:1px solid #FBBF24;background:#fffbeb;border-radius:10px;padding:14px 16px;margin-bottom:16px}.rounding-bulk-title{font-weight:700;color:#7c6b2c;margin-bottom:10px}.rounding-bulk-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.rounding-bulk-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:#777}.rounding-bulk-field select,.rounding-bulk-field input{padding:6px 8px;border:1px solid #E0E0E0;border-radius:8px;font-size:13px;font-weight:400;color:#333;background:#fff}.rounding-bulk-hint{font-size:12px;color:#999;margin-top:8px}.rounding-title{display:inline-flex;align-items:center;gap:8px}.help-icon{position:relative;display:inline-flex;align-items:center;color:#a9a9a9;cursor:help}.help-icon:hover,.help-icon:focus{color:#f59e0b;outline:none}.help-tooltip{visibility:hidden;opacity:0;position:absolute;top:150%;left:0;width:max-content;max-width:360px;padding:10px 14px;background-color:#1e293b;color:#fff;font-size:13px;font-weight:400;line-height:1.6;border-radius:8px;box-shadow:0 4px 12px #0003;z-index:50;transition:opacity .15s;white-space:normal;text-align:left}.help-icon:hover .help-tooltip,.help-icon:focus .help-tooltip{visibility:visible;opacity:1}.rounding-bulk-modal{width:320px}.rounding-bulk-modal .rounding-bulk-row{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:12px}.rounding-bulk-modal .rounding-bulk-field select,.rounding-bulk-modal .rounding-bulk-field input{width:100%}.rounding-bulk-modal .rounding-bulk-hint{margin-bottom:16px}.rounding-modal-actions{display:flex;justify-content:flex-end;gap:8px}.rounding-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:768px){.rounding-groups{grid-template-columns:1fr}}.rounding-store-group{border:1px solid #F3E8C8;border-radius:10px;padding:12px 14px}.rounding-store-name{font-weight:700;color:#333;margin-bottom:8px}.rounding-table{width:100%;border-collapse:collapse}.rounding-table th,.rounding-table td{padding:8px 10px;font-size:13px;text-align:left;border-bottom:1px solid #F0F0F0}.rounding-table th{color:#777;font-weight:700}.rounding-table select{padding:6px 8px;border:1px solid #E0E0E0;border-radius:8px;font-size:13px;background:#fff}.rounding-table-wrap{max-height:calc(100vh - 130px)}.rounding-grace-input{width:64px;padding:6px 8px;border:1px solid #E0E0E0;border-radius:8px;font-size:13px}.rounding-preview-btn{padding:5px 12px;border:1px solid #F3E8C8;border-radius:8px;background:#fffdf7;color:#7c6b2c;font-size:12px;font-weight:700;cursor:pointer;transition:background-color .2s,border-color .2s}.rounding-preview-btn:hover{background:#fbf3d8;border-color:#e7d9a8}.rounding-preview-modal{width:260px;padding:24px 20px 20px}.rounding-preview-modal-sub{font-size:13px;color:#777;text-align:center;line-height:1.6;margin-bottom:16px}.rounding-preview-body{max-height:340px;overflow-y:auto;border:1px solid #F0F0F0;border-radius:10px}.rounding-preview-table{width:100%;border-collapse:collapse}.rounding-preview-table thead tr,.rounding-preview-table tbody tr{display:flex;justify-content:space-evenly;align-items:center;border-bottom:1px solid #F0F0F0}.rounding-preview-table th,.rounding-preview-table td{min-width:72px;padding:5px 0;font-size:12px;text-align:center}.rounding-preview-table thead tr{position:sticky;top:0;background:#fffdf7}.rounding-preview-table th{color:#777;font-weight:700}.rounding-preview-table tbody tr:nth-child(2n){background:#f5f5f5}.rounding-preview-mark{font-weight:700;box-shadow:inset 3px 0 #c9a227}.rounding-preview-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:6px;background:#c9a227;color:#fff;font-size:10px;font-weight:700}.rounding-preview-note{margin:10px 0 16px;font-size:12px;color:#999;line-height:1.5}.business-hours-table{table-layout:fixed}.business-hours-table .bh-col-store{width:50%}.business-hours-table .bh-col-time{width:25%}.bh-time-input{width:100%;max-width:140px;padding:6px 8px;border:1px solid #E0E0E0;border-radius:8px;font-size:13px;background:#fff;color:#333;box-sizing:border-box}.rounding-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.rounding-toggle{margin-left:12px}
