.button,.icon-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border-radius:var(--radius-sm);background:var(--bg);box-shadow:var(--raised-sm);border:1px solid #f6f9fa;padding:11px 18px;min-height:42px;color:var(--text);font-size:12px;font-weight:600;transition:background var(--transition),box-shadow var(--transition)}.button:hover,.icon-button:hover{background:#e1e9ec;color:var(--primary)}.button:active,.icon-button:active{box-shadow:var(--inset)}.button.primary{background:var(--primary);color:white;border:1px solid var(--primary);box-shadow:3px 3px 9px #bdccd0,-3px -3px 9px #fff}.button.primary:hover{background:var(--primary-hover)}.button:disabled,.icon-button:disabled{opacity:.55;cursor:not-allowed}.icon-button{width:38px;min-height:38px;padding:8px;font-size:16px}.icon-button.small{min-width:32px;width:32px;min-height:32px;padding:5px;font-size:13px;box-shadow:none;border:1px solid #d0dade}.icon-button.danger{color:var(--error)}.full-width{width:100%}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.text-link{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:8px}.badge{display:inline-block;padding:5px 10px;background:#dce9e4;color:#235e51;border:1px solid #c8dcd3;border-radius:7px;font-size:10px;white-space:nowrap;font-weight:600}.count-badge{margin-left:8px;background:#d8e3e6;border-radius:7px;padding:3px 8px;font-size:11px;color:var(--muted)}.alert{display:flex;gap:12px;align-items:start;border-radius:10px;padding:15px 18px;margin-bottom:24px;border:1px solid var(--border);font-size:13px}.alert.error{background:#f2e6e7;color:#8c2631;border-color:#d6b6b9}.alert.success{background:#ddece3;color:#205b3e;border-color:#b8d4c2}.alert ul{margin:8px 0 0;padding-left:20px}.empty-state{text-align:center;padding:42px 24px}.empty-state>.bi{font-size:24px;color:var(--muted)}.empty-state h3{margin:14px 0 8px}.empty-state .button{margin-top:20px}.empty-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 24px;border-radius:18px;box-shadow:var(--inset);color:var(--primary);font-size:28px}.unavailable{padding:60px 30px}.unavailable h2{margin-top:22px}.unavailable p{max-width:520px;margin:12px auto 26px}.confirmation-card{max-width:560px;padding:40px;text-align:center}.confirmation-card .actions{margin-top:28px;justify-content:center}.confirm-dialog{padding:32px;max-width:460px;width:calc(100% - 40px);color:var(--text)}.confirm-dialog::backdrop{background:#243e4866;backdrop-filter:blur(3px)}.confirm-dialog p{margin:14px 0 26px;color:var(--muted)}.confirm-dialog .actions{justify-content:flex-end}.dialog-icon{color:var(--primary);font-size:30px;margin-bottom:15px}.error-body{display:grid;place-items:center;min-height:100vh;padding:24px}.error-card{padding:48px;text-align:center;max-width:560px}.error-code{font-size:80px;line-height:1.3;letter-spacing:-4px;color:var(--primary);font-weight:700;margin:12px 0}.error-card .button{margin-top:28px}
