.ripple{position:relative;overflow:hidden;cursor:pointer;}
.ripple::after{content:"";position:absolute;inset:0;background:currentColor;opacity:0;border-radius:inherit;pointer-events:none;transition:opacity .15s;}
.ripple:hover::after{opacity:.08;}
.ripple:active::after{opacity:.14;}

.icon-btn{width:44px;height:44px;border-radius:50%;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;}
.scrim{display:none;}
.scrim.open{display:flex!important;}

#snackbar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(12px);background:#322F35;color:#E6E1E5;border-radius:4px;padding:14px 20px;font-size:14px;font-weight:500;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;z-index:9999;max-width:min(480px,90vw);text-align:center;box-shadow:0 3px 5px rgba(0,0,0,.2),0 1px 18px rgba(0,0,0,.12);}
#snackbar.show{opacity:1;transform:translateX(-50%) translateY(0);}

.md-field{position:relative;}
.md-field input,.md-field select,.md-field textarea{width:100%;padding:20px 16px 6px;background:var(--md-surface-container-high);border:none;border-radius:4px 4px 0 0;border-bottom:1px solid var(--md-outline);outline:none;font-family:"Manrope",sans-serif;font-size:16px;color:var(--md-on-surface);transition:border-color .2s,border-width .1s;appearance:none;-webkit-appearance:none;}
.md-field input,.md-field select{height:56px;}
.md-field textarea{min-height:80px;resize:vertical;line-height:1.4;}
.md-field input:focus,.md-field select:focus,.md-field textarea:focus{border-bottom:2px solid var(--md-primary);padding-bottom:5px;}
.md-field input:disabled,.md-field select:disabled,.md-field textarea:disabled{background:var(--md-surface-container-highest);color:#A9AEB6;cursor:not-allowed;}
.md-field label{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--md-on-surface-variant);pointer-events:none;transition:all .15s ease;}
.md-field textarea~label,.md-field textarea+label{top:18px;transform:none;font-size:15px;}
.md-field input:focus~label,.md-field input:not(:placeholder-shown)~label,.md-field select:focus~label,.md-field.has-value label,.md-field textarea:focus~label,.md-field textarea:not(:placeholder-shown)~label{top:8px;transform:none;font-size:12px;color:var(--md-primary);}
.md-field.has-value:not(:focus-within) label{color:var(--md-on-surface-variant);}
.md-field.error input,.md-field.error select,.md-field.error textarea{border-bottom-color:var(--md-error);}
.md-field .field-trail{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--md-on-surface-variant);display:flex;align-items:center;}
.md-field .selchev{position:absolute;right:14px;top:22px;pointer-events:none;color:var(--md-on-surface-variant);}

.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:100px;font-size:12px;font-weight:600;}
.badge-admin{background:var(--md-primary-container);color:var(--md-primary);}
.badge-dip,.badge-in{background:#e6f4ea;color:#1b5e20;}
.badge-out{background:#fdecea;color:var(--md-error);}
.badge-none{background:var(--md-surface-container-high);color:var(--md-outline);}

.empty-state{text-align:center;padding:48px 24px;color:var(--md-outline-variant);font-size:14px;}
.page-header h2{font-size:34px;font-family:"Manrope",sans-serif;font-weight:700;letter-spacing:-.4px;color:var(--md-on-surface);line-height:1.1;}
.chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;}
.chip-row::-webkit-scrollbar{display:none;}

#modal-overlay,.modal-overlay,#assign-overlay,#cedit-overlay,#ac-details-overlay,#swm-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:500;align-items:center;justify-content:center;padding:16px;}
#modal-overlay.open,.modal-overlay.open,#assign-overlay.open,#cedit-overlay.open,#ac-details-overlay.open,#swm-overlay.open{display:flex;}

.card-surface{background:#fff;border:1px solid var(--ax-border);border-radius:var(--ax-radius-card);box-shadow:var(--ax-shadow-card);}
.stat-card{border-radius:18px!important;padding:18px!important;border:1px solid transparent;transition:transform .15s,box-shadow .15s;}
.stat-card:hover{transform:translateY(-1px);box-shadow:var(--ax-shadow-hover);}
.stat-icon-badge{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.log-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;margin-bottom:8px;border:1px solid transparent;transition:transform .15s,box-shadow .15s;}
.log-entry,.log-exit{background:var(--md-primary-container);}
.log-entry .log-icon svg,.log-entry .log-label,.log-exit .log-icon svg,.log-exit .log-label{color:var(--md-on-primary-container);}
.log-entry .log-date,.log-exit .log-date{color:var(--md-on-primary-container);opacity:.75;}
.log-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(0,0,0,.08);}
.log-label{font-size:14px;font-weight:500;}
.log-date{font-size:12px;margin-top:1px;opacity:.72;}
.section-label{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--ax-blue);}
