Full WooCommerce plugin for aaPanel hosting management: - aaPanel API client (all website + database endpoints) - Admin: server management, site/DB assignments, full site/DB management panels - Customer My Account: web hosting tab with sites and databases - WooDomains PowerDNS integration for DNS management - WooCommerce order auto-provisioning (product → server linking) - Permission model: admin has all actions, customers have scoped access Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
95 lines
4.3 KiB
CSS
95 lines
4.3 KiB
CSS
/* WooAApanel Admin Styles */
|
|
|
|
.wooaapanel-page { max-width: 1200px; }
|
|
|
|
/* ── Cards / tables ─────────────────────────────────────────── */
|
|
.wap-card {
|
|
background: #fff;
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 4px;
|
|
padding: 16px;
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.wap-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
font-size: 13px;
|
|
}
|
|
.wap-table th, .wap-table td {
|
|
padding: 8px 12px;
|
|
border-bottom: 1px solid #f0f0f0;
|
|
text-align: left;
|
|
vertical-align: top;
|
|
}
|
|
.wap-table th { background: #f8f8f8; font-weight: 600; }
|
|
.wap-table tr:hover td { background: #fafafa; }
|
|
|
|
/* ── Forms ───────────────────────────────────────────────────── */
|
|
.wap-form { max-width: 600px; }
|
|
.wap-form label { display: block; margin-bottom: 12px; }
|
|
.wap-form label span { display: block; font-weight: 600; margin-bottom: 4px; font-size: 12px; }
|
|
.wap-form input[type="text"],
|
|
.wap-form input[type="url"],
|
|
.wap-form input[type="password"],
|
|
.wap-form select,
|
|
.wap-form textarea {
|
|
width: 100%;
|
|
padding: 6px 10px;
|
|
border: 1px solid #ddd;
|
|
border-radius: 3px;
|
|
font-size: 13px;
|
|
}
|
|
.wap-form textarea { min-height: 100px; font-family: monospace; }
|
|
|
|
/* ── Toolbar ─────────────────────────────────────────────────── */
|
|
.wap-toolbar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
margin-bottom: 16px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.wap-toolbar select, .wap-toolbar input { max-width: 200px; }
|
|
|
|
/* ── Status / badges ─────────────────────────────────────────── */
|
|
.wap-badge {
|
|
display: inline-block;
|
|
padding: 2px 8px;
|
|
border-radius: 10px;
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
}
|
|
.wap-badge-active { background: #d4edda; color: #155724; }
|
|
.wap-badge-inactive{ background: #f8d7da; color: #721c24; }
|
|
|
|
/* ── Action buttons ──────────────────────────────────────────── */
|
|
.wap-action-btn { cursor: pointer; }
|
|
.wap-action-btn + .wap-action-btn { margin-left: 4px; }
|
|
|
|
/* ── Inline edit form ────────────────────────────────────────── */
|
|
.wap-inline-form { background: #f8f9fa; border: 1px solid #e0e0e0; border-radius: 4px; padding: 16px; margin-top: 16px; }
|
|
.wap-inline-form h4 { margin-top: 0; }
|
|
|
|
/* ── Notices ─────────────────────────────────────────────────── */
|
|
.wap-notice { padding: 8px 12px; border-radius: 3px; margin-top: 8px; display: none; }
|
|
.wap-notice.success { background: #d4edda; color: #155724; display: block; }
|
|
.wap-notice.error { background: #f8d7da; color: #721c24; display: block; }
|
|
|
|
/* ── Server selector ──────────────────────────────────────────── */
|
|
.wap-server-picker { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
|
|
.wap-server-picker label { font-weight: 600; margin: 0; }
|
|
|
|
/* ── Detail panels ───────────────────────────────────────────── */
|
|
.wap-detail-panel { margin-top: 8px; padding: 12px; background: #fafafa; border: 1px solid #e8e8e8; border-radius: 3px; }
|
|
.wap-detail-panel pre { margin: 0; white-space: pre-wrap; word-break: break-all; font-size: 12px; }
|
|
|
|
/* ── Tabs ─────────────────────────────────────────────────────── */
|
|
.wap-tabs { display: flex; gap: 0; border-bottom: 2px solid #0073aa; margin-bottom: 16px; }
|
|
.wap-tab { padding: 8px 16px; cursor: pointer; border: 1px solid transparent; border-bottom: none; font-size: 13px; border-radius: 3px 3px 0 0; }
|
|
.wap-tab.active { background: #0073aa; color: #fff; }
|
|
.wap-tab:hover:not(.active) { background: #e8f4fc; }
|
|
|
|
.wap-tab-content { display: none; }
|
|
.wap-tab-content.active { display: block; }
|