:root{--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--color-primary: #FF6B00;--color-primary-dark: #E55A00;--color-primary-light: #FF8C33;--color-background: #F6F7FB;--color-surface: #FFFFFF;--color-text-primary: #333333;--color-text-secondary: #666666;--color-text-tertiary: #999999;--color-border: #E4E7EC;--color-border-light: #F1F3F7;--color-surface-muted: #FBFCFE;--color-success: #28A745;--color-success-light: #D4EDDA;--color-error: #DC3545;--color-error-light: #F8D7DA;--color-warning: #FFC107;--color-info: #17A2B8;--font-size-title: clamp(1.25rem, 2.5vw, 1.5rem);--font-size-section: clamp(1rem, 1.8vw, 1.125rem);--font-size-body: .9375rem;--font-size-caption: .8125rem;--font-size-button: 1rem;--font-weight-bold: 700;--font-weight-semibold: 600;--font-weight-regular: 400;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 14px;--radius-xl: 18px;--shadow-sm: 0 2px 6px rgba(16, 24, 40, .06);--shadow-md: 0 8px 24px rgba(16, 24, 40, .08);--shadow-lg: 0 16px 40px rgba(16, 24, 40, .12);--shadow-card: 0 2px 8px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--pos-shell-bg: #f1f3f5;--button-primary-height: 48px;--button-secondary-height: 40px;--input-height-mobile: 40px;--input-height-web: 32px;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--content-max: 1320px;--header-z: 100;--touch-target-min: 44px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-primary);background-color:var(--color-background);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.01em}::selection{background:#ff6b0038;color:var(--color-text-primary)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2}h1{font-size:var(--font-size-title)}h2{font-size:var(--font-size-section)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--spacing-lg);border:none;border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-button);font-weight:var(--font-weight-semibold);cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease;min-height:max(var(--button-secondary-height),var(--touch-target-min));text-decoration:none;box-shadow:var(--shadow-sm)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background-color:var(--color-primary);color:#fff;min-height:var(--button-primary-height);box-shadow:0 8px 18px #ff6b0047}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-1px)}.btn-primary:disabled{background-color:var(--color-text-tertiary);cursor:not-allowed;opacity:.6}.btn-secondary{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-muted);transform:translateY(-1px)}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background-color:#218838}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-body);min-height:var(--button-secondary-height)}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],select,textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-primary);background-color:var(--color-surface);transition:border-color .2s ease,box-shadow .2s ease;min-height:var(--input-height-web);box-shadow:inset 0 1px 1px #10182808}@media(max-width:768px){input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],select{min-height:var(--input-height-mobile)}}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ff6b0029}input:disabled,select:disabled,textarea:disabled{background-color:var(--color-background);cursor:not-allowed;opacity:.6}.card{background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--spacing-lg);border:1px solid var(--color-border-light)}.page-shell{width:100%;max-width:var(--content-max);margin:0 auto;padding-left:clamp(var(--spacing-md),4vw,var(--spacing-xl));padding-right:clamp(var(--spacing-md),4vw,var(--spacing-xl));padding-top:var(--spacing-md);padding-bottom:var(--spacing-xl)}.panel{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.hide-desktop{display:none!important}}.loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.skeleton{position:relative;overflow:hidden;background:#eceff3;border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.65) 50%,transparent 100%);animation:skeleton-shimmer 1.3s infinite}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.skeleton-line{height:12px;margin-bottom:var(--spacing-sm)}.skeleton-line-lg{height:18px}.skeleton-line-sm{height:10px}.skeleton-w-70{width:70%}.skeleton-w-35{width:35%}.skeleton-w-40{width:40%}.skeleton-w-50{width:50%}.skeleton-w-60{width:60%}.skeleton-stat-label{width:min(70%,8rem)}.skeleton-stat-value{width:min(45%,4rem);margin-top:var(--spacing-sm)}.skeleton-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--spacing-md)}.app-modal-backdrop{position:fixed;inset:0;background:#10182873;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);z-index:2000}.app-modal{width:min(480px,100%);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border-light);box-shadow:var(--shadow-lg);padding:var(--spacing-lg)}.app-modal h3{margin:0 0 var(--spacing-sm) 0}.app-modal p{margin:0 0 var(--spacing-md) 0;color:var(--color-text-secondary)}.app-modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);flex-wrap:wrap}.app-modal--with-reason{width:min(100%,32rem);max-height:min(90vh,36rem);display:flex;flex-direction:column;padding:var(--spacing-lg);gap:0}.app-modal--with-reason h3{flex-shrink:0;padding-right:var(--spacing-xl)}.app-modal--with-reason>p{flex-shrink:0;line-height:1.5}.app-modal--with-reason .confirm-reason-block{flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.app-modal--with-reason .confirm-reason-textarea{flex:1;min-height:7rem;max-height:12rem}.app-modal--with-reason .app-modal-actions{flex-shrink:0;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-light);margin-top:auto}@media(max-width:400px){.app-modal--with-reason .app-modal-actions{flex-direction:column-reverse}.app-modal--with-reason .app-modal-actions .btn{width:100%;justify-content:center}}.confirm-reason-block{padding:var(--spacing-md);background:var(--color-surface-muted);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.confirm-reason-label{display:block;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.confirm-reason-textarea{width:100%;box-sizing:border-box;min-height:6rem;padding:var(--spacing-sm) var(--spacing-md);font:inherit;font-size:var(--font-size-body);line-height:1.5;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.confirm-reason-textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px}.confirm-reason-textarea--invalid{border-color:var(--color-error)}.confirm-reason-textarea--invalid:focus{outline-color:var(--color-error)}.confirm-reason-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-xs) var(--spacing-md);margin-top:var(--spacing-sm)}.confirm-reason-hint{margin:0;font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.confirm-reason-char-count{margin:0;font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.confirm-reason-char-count--short{color:var(--color-warning, #b7791f);font-weight:var(--font-weight-semibold)}.confirm-reason-char-count--over{color:var(--color-error);font-weight:var(--font-weight-semibold)}.confirm-reason-error{margin:var(--spacing-sm) 0 0 0;font-size:var(--font-size-caption);color:var(--color-error);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-error-light);border-radius:var(--radius-sm)}.cell-actions{width:1%;min-width:17rem;vertical-align:middle;box-sizing:border-box}.cell-actions .action-buttons{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--spacing-sm)}.cell-actions .action-buttons .btn{flex:0 0 auto}.cell-reason{max-width:12rem;min-width:6.5rem;font-size:var(--font-size-caption);color:var(--color-text-secondary);vertical-align:middle}@media(min-width:1200px){.cell-reason{max-width:15rem}}.reason-na{color:var(--color-text-tertiary)}.access-reason-modal-only{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.btn-history{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);background:var(--color-surface-muted);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;line-height:1.2;white-space:nowrap}.btn-history:hover{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 1px 3px #0000000f}.btn-history:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-history__icon{font-size:1rem;opacity:.85;line-height:1}.audit-history-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin:var(--spacing-lg) 0;padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--color-surface-muted) 0%,color-mix(in srgb,var(--color-primary) 6%,var(--color-surface)) 100%);border:1px solid var(--color-border-light);border-radius:var(--radius-md);border-left:4px solid var(--color-primary);box-shadow:var(--shadow-sm)}.audit-history-strip--deactivate{border-left-color:#c53030;background:linear-gradient(135deg,var(--color-surface-muted) 0%,color-mix(in srgb,#c53030 7%,var(--color-surface)) 100%)}.audit-history-strip__text{display:flex;flex-direction:column;gap:4px;min-width:min(100%,16rem)}.audit-history-strip__title{font-size:var(--font-size-body);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.audit-history-strip__hint{font-size:var(--font-size-caption);color:var(--color-text-secondary);line-height:1.45;max-width:36rem}.audit-history-strip__meta{font-size:var(--font-size-caption);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.audit-history-strip-wrap{grid-column:1 / -1}.audit-history-strip-wrap .audit-history-strip{margin:0}.reason-view-modal.app-modal{width:min(100%,38rem);max-height:min(92vh,44rem);display:flex;flex-direction:column;padding:0;overflow:hidden}.reason-view-modal .reason-view-header{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light);background:var(--color-surface-muted)}.reason-view-modal .reason-view-icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary-dark, var(--color-primary));font-size:1.25rem;line-height:1}.reason-view-modal.reason-view-modal--restaurant .reason-view-icon{background:color-mix(in srgb,#c53030 12%,transparent);color:#9b2c2c}.reason-view-modal .reason-view-header-text{min-width:0;flex:1}.reason-view-modal .reason-view-header-text h3{margin:0 0 4px;font-size:var(--font-size-section);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.25}.reason-view-modal .reason-view-subtitle{margin:0;font-size:var(--font-size-caption);color:var(--color-text-secondary);line-height:1.45}.reason-view-modal .reason-view-count{display:inline-flex;align-items:center;margin-top:var(--spacing-sm);padding:2px 10px;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:999px}.reason-view-modal .reason-view-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:var(--spacing-md) var(--spacing-lg);overflow:hidden}.reason-view-skeleton{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.reason-skeleton-row{padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border-light);background:var(--color-surface-muted)}.reason-skeleton-row .skeleton-line:first-child{width:42%;margin-bottom:var(--spacing-sm)}.reason-view-loading,.reason-view-empty{margin:0;padding:var(--spacing-xl) var(--spacing-md);text-align:center;font-size:var(--font-size-body);color:var(--color-text-secondary);border:1px dashed var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface-muted)}.reason-view-empty{line-height:1.5}.reason-history-list{list-style:none;margin:0;padding:0;flex:1;min-height:5rem;max-height:min(52vh,24rem);overflow-y:auto;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);-webkit-overflow-scrolling:touch}.reason-history-item{padding:0;border-bottom:1px solid var(--color-border-light)}.reason-history-item:last-child{border-bottom:none}.reason-history-item-inner{display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 0;align-items:flex-start}.reason-history-marker{flex-shrink:0;width:3px;align-self:stretch;min-height:2.5rem;margin-left:var(--spacing-md);border-radius:999px;background:linear-gradient(180deg,var(--color-primary) 0%,color-mix(in srgb,var(--color-primary) 45%,var(--color-surface-muted)) 100%)}.reason-view-modal.reason-view-modal--restaurant .reason-history-marker{background:linear-gradient(180deg,#c53030,#e8a0a0)}.reason-history-content{flex:1;min-width:0;padding-right:var(--spacing-sm)}.reason-history-date{display:block;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:6px;letter-spacing:.02em}.reason-history-body{white-space:pre-wrap;word-break:break-word;line-height:1.55;font-size:var(--font-size-body);color:var(--color-text-primary)}.reason-view-modal .app-modal-actions{flex-shrink:0;margin-top:0;padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border-light);background:var(--color-surface)}.app-modal--global{width:min(520px,100%);max-height:min(85vh,720px);display:flex;flex-direction:column;padding:var(--spacing-lg);overflow:hidden}.app-modal--global .app-modal-title{margin:0 0 var(--spacing-sm) 0;flex-shrink:0}.app-modal--global .app-modal-body{margin:0 0 var(--spacing-md) 0;overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.app-modal--global .app-modal-message{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:1.55;white-space:pre-wrap}.app-modal--global .app-modal-actions{flex-shrink:0;margin-top:auto;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-light)}.error-message{background-color:var(--color-error-light);color:var(--color-error);padding:var(--spacing-md);border-radius:var(--radius-sm);border:1px solid #F5C6CB;font-size:var(--font-size-body);margin-bottom:var(--spacing-md)}.success-message{background-color:var(--color-success-light);color:#155724;padding:var(--spacing-md);border-radius:var(--radius-sm);border:1px solid #C3E6CB;font-size:var(--font-size-body);margin-bottom:var(--spacing-md)}.pending-approval-tag{display:inline-block;margin-left:var(--spacing-sm);padding:2px var(--spacing-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:#856404;background:#ffc10733;border-radius:var(--radius-sm)}.agent-pending-note{margin:var(--spacing-sm) 0 0;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-muted);border-left:3px solid var(--color-warning);color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:1.5}.agent-pending-note--flush{margin:0}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-lg);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}
