.kiosk-header{background:var(--bg-header);padding:16px var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:var(--z-header);box-shadow:0 4px 24px #00000026;min-height:72px}.kiosk-header-left{display:flex;align-items:center;gap:var(--spacing-lg)}.kiosk-logo{font-family:var(--font-family);font-size:var(--font-size-2xl);font-weight:800;color:var(--white);letter-spacing:-.02em;text-shadow:0 2px 8px rgba(0,0,0,.2)}.kiosk-datetime{color:#ffffffa6;font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-family-number)}.kiosk-header-right{display:flex;align-items:center;gap:var(--spacing-md)}.summary-badges{display:flex;gap:6px}.summary-badge{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;background:#ffffff1a;color:#ffffffe6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08)}.summary-badge strong{font-family:var(--font-family-number);font-weight:700}.summary-badge.total{background:#fff3;color:var(--white);font-weight:600;border-color:#ffffff26}.admin-btn{display:flex;align-items:center;gap:6px;min-height:40px;padding:8px 18px;border:1.5px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);background:#ffffff14;color:#ffffffd9;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-btn:hover{background:#ffffff2e;border-color:#ffffff59;color:var(--white);transform:translateY(-1px)}.notice-banner{background:linear-gradient(135deg,#fff3e0,#ffecd2);padding:12px var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-md);border-bottom:1px solid rgba(255,170,0,.15)}.notice-banner-icon{font-size:1.25rem;flex-shrink:0}.notice-banner-text{font-size:var(--font-size-base);font-weight:500;color:#92400e}.kiosk-container{display:grid;grid-template-columns:460px 1fr;gap:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-xl);min-height:calc(100vh - 72px);max-width:1600px;margin:0 auto}.visit-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm)}.section-title{font-size:var(--font-size-xl);font-weight:700;color:var(--gray-800);display:flex;align-items:center;gap:var(--spacing-sm)}.section-title svg{color:var(--primary)}.quick-register{display:flex;align-items:center;gap:6px;background:var(--secondary-light);padding:6px 12px;border-radius:var(--radius-sm);border:1px solid rgba(255,170,0,.15)}.quick-register-label{color:var(--secondary);font-weight:700;font-size:1.1rem}.quick-register input{width:72px;min-height:36px;padding:6px 10px;border:1.5px solid var(--secondary);border-radius:var(--radius-xs);font-family:var(--font-family-number);font-size:var(--font-size-base);font-weight:600;text-align:center;background:var(--white);transition:all var(--transition-fast)}.quick-register input:focus{outline:none;box-shadow:0 0 0 3px #ff9f4333}.quick-register button{min-height:36px;padding:6px 14px;border:none;border-radius:var(--radius-xs);background:var(--secondary-gradient);color:var(--white);font-family:var(--font-family);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 6px #ff9f434d}.quick-register button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff9f4366}.visit-form-card{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid rgba(0,0,0,.04);padding:var(--spacing-lg);overflow-y:auto;flex:1}.legal-notice{background:linear-gradient(135deg,var(--primary-light),#E8EDFF);border:1px solid rgba(79,106,255,.12);border-radius:var(--radius-sm);padding:14px var(--spacing-md);font-size:var(--font-size-sm);color:var(--primary-dark);line-height:1.6;margin-bottom:var(--spacing-md)}.safety-rules{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:var(--spacing-md);margin:var(--spacing-md) 0}.safety-rules-title{font-size:var(--font-size-base);font-weight:700;color:var(--danger);margin-bottom:var(--spacing-sm)}.safety-rules ol{padding-left:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--gray-600)}.safety-rules li{padding:3px 0;line-height:1.5}.submit-btn{width:100%;min-height:var(--touch-target);font-size:var(--font-size-lg);font-weight:700;margin-top:var(--spacing-md);border-radius:var(--radius-md);letter-spacing:.02em}.privacy-notice{text-align:center;font-size:var(--font-size-xs);color:var(--gray-400);margin-top:var(--spacing-sm)}.status-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.status-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm)}.filter-group{display:flex;align-items:center;gap:var(--spacing-sm)}.filter-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--gray-500)}.filter-select{min-height:38px;padding:6px 14px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm);background:var(--white);color:var(--gray-700);cursor:pointer;transition:all var(--transition-fast)}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f6aff1a}.usage-guide{background:linear-gradient(135deg,var(--primary-light),#E8EDFF);border:1px solid rgba(79,106,255,.12);border-radius:var(--radius-sm);padding:12px var(--spacing-md);font-size:var(--font-size-sm);color:var(--primary-dark);line-height:1.5}.facilities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.facility-card{background:var(--bg-card);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);padding:20px;cursor:grab;transition:all var(--transition-fast);position:relative;overflow:hidden;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;-webkit-user-select:none;user-select:none}.facility-card.dragging{opacity:.5;border:2px dashed var(--primary);cursor:grabbing;transform:scale(.95);transition:opacity .15s,transform .15s}.facility-card.drag-over{border:2px dashed var(--success);background:#0596690d}.facility-card[draggable=true]:active{cursor:grabbing}.facility-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gray-300);transition:all var(--transition-fast)}.facility-card:hover{border-color:transparent;box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.facility-card:active{transform:translateY(-1px);box-shadow:var(--shadow-md)}.facility-card.open:before{background:linear-gradient(90deg,var(--success),#34D399)}.facility-card.open{border-color:#00d68f33}.facility-card.open:hover{border-color:#00d68f66}.facility-card.in-use:before{background:var(--primary-gradient);animation:shimmer 2s infinite;background-size:200% 100%}.facility-card.in-use{border-color:#4f6aff33;background:linear-gradient(180deg,var(--primary-light),var(--white))}.facility-card.closed:before{background:var(--gray-300)}.facility-card.closed{border-color:var(--gray-200);background:var(--gray-50);opacity:.65;cursor:not-allowed}.facility-card.closed:hover{transform:none;box-shadow:var(--shadow-card)}.facility-card-name{font-size:var(--font-size-lg);font-weight:700;color:var(--gray-800);margin-bottom:6px}.facility-card-status{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-size-xs);font-weight:600;padding:4px 10px;border-radius:var(--radius-full)}.facility-card-status.open{background:var(--success-light);color:#047857}.facility-card-status.open:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success);animation:breathe 2s infinite}.facility-card-status.in-use{background:var(--primary-light);color:var(--primary-dark)}.facility-card-status.in-use:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--primary);animation:pulse 1.5s infinite}.facility-card-status.closed{background:var(--gray-200);color:var(--gray-500)}.facility-card-meta{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.facility-card-meta .meta-item{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;color:var(--gray-600);background:var(--gray-50);padding:3px 10px;border-radius:var(--radius-full);border:1px solid var(--gray-150, rgba(0,0,0,.06))}.facility-card-info{margin-top:8px;font-size:var(--font-size-sm);color:var(--gray-500);line-height:1.5}.facility-card-user{margin-top:8px;font-size:var(--font-size-sm);color:var(--primary-dark);font-weight:600;padding:6px 10px;background:#4f6aff0f;border-radius:var(--radius-xs)}.facility-card-restriction{margin-top:6px;display:inline-block;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:600;letter-spacing:.3px}.facility-card-restriction.restriction-youth{background:#4f6aff1a;color:var(--primary);border:1px solid rgba(79,106,255,.25)}.facility-card-restriction.restriction-adult{background:#ff9f431a;color:#e67e22;border:1px solid rgba(255,159,67,.25)}.facility-card-timer{margin-top:10px;padding:10px 12px;background:linear-gradient(135deg,#4f6aff0f,#4f6aff1f);border-radius:var(--radius-sm);border:1px solid rgba(79,106,255,.15)}.timer-display{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:8px}.timer-icon{font-size:16px}.timer-remaining{font-family:var(--font-family-number);font-size:1.5rem;font-weight:700;color:var(--primary);letter-spacing:.5px;line-height:1}.timer-remaining.timer-warning{color:#ff9f43;animation:timerPulse 1s ease-in-out infinite}.timer-remaining.timer-expired{color:var(--danger);animation:timerPulse .6s ease-in-out infinite}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.5}}.timer-progress-bar{width:100%;height:6px;background:#0000000f;border-radius:3px;overflow:hidden;margin-bottom:6px}.timer-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,#6C8AFF 100%);border-radius:3px;transition:width 1s linear}.timer-progress-fill.timer-warning-bar{background:linear-gradient(90deg,#ff9f43,#ff6b6b)}.timer-progress-fill.timer-expired-bar{background:var(--danger);width:100%!important}.timer-range{text-align:center;font-size:.72rem;color:var(--gray-400);font-family:var(--font-family-number)}.facility-card-actions-bar{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--gray-200);flex-wrap:wrap}.btn-facility-action{display:inline-flex;align-items:center;gap:3px;padding:5px 10px;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-facility-action:active{transform:scale(.97)}.btn-queue-register{background:var(--warning);color:var(--white)}.btn-queue-register:hover{background:#e67e22}.btn-transfer{background:var(--primary);color:var(--white)}.btn-transfer:hover{background:var(--primary-dark)}.queue-count{font-size:.75rem;font-weight:600;color:var(--gray-500);white-space:nowrap;margin-left:auto}.queue-count.has-queue{color:var(--warning);font-weight:700}.visitor-select-area{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden;background:var(--white)}.visitor-search-input{width:100%;padding:14px var(--spacing-md);border:none;border-bottom:1px solid var(--gray-100);font-size:var(--font-size-base);font-family:var(--font-family);background:var(--gray-50);transition:all var(--transition-fast)}.visitor-search-input:focus{outline:none;background:var(--primary-light)}.visitor-search-input::placeholder{color:var(--gray-400)}.visitor-list{max-height:200px;overflow-y:auto}.visitor-item{display:flex;align-items:center;justify-content:space-between;padding:12px var(--spacing-md);border-bottom:1px solid var(--gray-100);cursor:pointer;min-height:var(--touch-min);transition:all var(--transition-fast)}.visitor-item:hover{background:var(--primary-light)}.visitor-item.selected{background:var(--primary-light);border-left:3px solid var(--primary);padding-left:calc(var(--spacing-md) - 3px)}.selected-visitors{padding:var(--spacing-md);background:var(--gray-50);min-height:56px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.selected-visitor-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:var(--primary-gradient);color:var(--white);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;animation:fadeIn var(--transition-fast)}.selected-visitor-chip button{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:#ffffff40;color:var(--white);border-radius:50%;font-size:12px;cursor:pointer;transition:background var(--transition-fast)}.selected-visitor-chip button:hover{background:#ffffff73}.friend-add-area{margin-top:var(--spacing-xs)}.friend-input-row{display:flex;gap:var(--spacing-sm);align-items:center}.friend-input-row .form-input{flex:1}.friend-input-row .btn-sm{padding:8px 16px;font-size:var(--font-size-sm);white-space:nowrap;border-radius:var(--radius-md)}.friend-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.friend-chip{background:linear-gradient(135deg,#f59e0b,#d97706)!important}.friend-badge{font-size:10px;background:#ffffff4d;padding:1px 5px;border-radius:4px;margin-left:2px}.time-select-group{display:flex;align-items:center;gap:var(--spacing-sm)}.time-select-group span{color:var(--gray-500);font-size:var(--font-size-sm);font-weight:500}.time-select{min-height:var(--touch-min);padding:8px 12px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-family:var(--font-family-number);font-size:var(--font-size-base);font-weight:600;background:var(--white);transition:all var(--transition-fast)}.time-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f6aff1a}.transfer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.transfer-modal{background:#fff;border-radius:16px;width:90%;max-width:480px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.transfer-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 12px;border-bottom:1px solid var(--gray-200)}.transfer-modal-header h3{font-size:1.25rem;font-weight:700;margin:0}.transfer-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gray-500);padding:4px 8px;border-radius:8px}.transfer-close-btn:hover{background:var(--gray-100)}.transfer-info{display:flex;align-items:center;gap:16px;padding:16px 24px;background:var(--gray-50)}.transfer-from{display:flex;flex-direction:column;gap:4px;font-size:.9rem}.transfer-from strong{font-size:1.05rem;color:var(--primary)}.transfer-arrow{font-size:1.5rem;font-weight:700;color:var(--gray-400);flex-shrink:0}.transfer-to{font-size:.95rem;color:var(--gray-500);font-weight:500}.transfer-facility-list{padding:12px;display:flex;flex-direction:column;gap:8px}.transfer-facility-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;border:1.5px solid var(--gray-200);border-radius:12px;background:#fff;cursor:pointer;transition:all .15s;text-align:left;width:100%}.transfer-facility-btn:hover{border-color:var(--primary);background:#4f6aff0a;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.transfer-facility-name{font-size:1.05rem;font-weight:600;color:var(--gray-800)}.transfer-facility-meta{font-size:.8rem;color:var(--gray-500)}.transfer-time-warning{font-size:.78rem;color:var(--warning);font-weight:600;background:#ffaa001a;padding:2px 8px;border-radius:4px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 1200px){.kiosk-container{grid-template-columns:1fr;padding:var(--spacing-md)}}@media (max-width: 768px){.kiosk-header{flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);min-height:auto}.kiosk-header-left,.kiosk-header-right{width:100%;justify-content:center}.summary-badges{flex-wrap:wrap;justify-content:center}.facilities-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--spacing-sm)}.facility-card{min-height:120px;padding:var(--spacing-md)}.form-row,.form-row-3{grid-template-columns:1fr;flex-direction:column}.section-header{flex-direction:column;align-items:stretch}}
