/* Blessings dashboard 共用主題 — iPhone 計算機風（深色 + 3D 立體）
   給 non-checkout 頁面使用（today / settings / index / inventory / workflow）
   checkout.html 有自己的 flex-column layout、不引入這個 */

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}

html,body{min-height:100vh}
body{font-family:-apple-system,'PingFang TC','Microsoft JhengHei','Hiragino Sans',sans-serif;
  background:linear-gradient(180deg,#1a1a1c,#0a0a0c) fixed;
  color:#fff;font-size:15px;line-height:1.6;letter-spacing:0.2px;
  -webkit-font-smoothing:antialiased;
  padding:20px 18px 60px;max-width:720px;margin:0 auto}

/* 主標題 */
h1{font-size:22px;font-weight:700;letter-spacing:0.5px;margin-bottom:6px;color:#fff}
.sub{color:#888;font-size:12.5px;margin-bottom:22px;letter-spacing:0.3px;
  display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.sub a{color:#ffb84d;text-decoration:none;font-weight:600;
  padding:3px 10px;border-radius:6px;background:rgba(255,184,77,0.1);
  border:1px solid rgba(255,184,77,0.25);transition:all 0.15s}
.sub a:hover{background:rgba(255,184,77,0.2);border-color:#ffb84d}

/* 卡片 */
.card{background:linear-gradient(180deg,#2a2a2c,#1f1f21);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:16px;padding:20px 22px 22px;margin-bottom:14px;
  box-shadow:0 4px 0 #0a0a0c, 0 6px 18px rgba(0,0,0,0.4)}
.card h2{font-size:13px;font-weight:700;letter-spacing:1px;margin-bottom:14px;
  color:#ffb84d;text-transform:uppercase;padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,0.06)}

/* Headline 卡（如 today.html 的大數字摘要）*/
.headline{background:linear-gradient(180deg,#3a3a3c,#1f1f21);border:1px solid rgba(255,184,77,0.2);
  padding:28px 24px}
.headline h2{color:rgba(255,184,77,0.7);border-bottom-color:rgba(255,184,77,0.15)}
.headline .big-num{font-size:46px;font-weight:800;font-family:-apple-system,'SF Mono',monospace;
  letter-spacing:-1.5px;margin:8px 0 12px;line-height:1.1;color:#ffb84d}
.headline .sub-stats{display:flex;gap:24px;font-size:12.5px;color:#aaa;letter-spacing:0.3px}
.headline .sub-stats b{font-weight:700;color:#fff;letter-spacing:0;font-size:14px}

/* 分組 row */
.group-row{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;
  border-bottom:1px solid rgba(255,255,255,0.05);font-size:14px}
.group-row:last-child{border-bottom:none}
.group-row .name{color:#ddd;font-weight:500;letter-spacing:0.3px}
.group-row .stats{color:#ffb84d;font-weight:700;font-size:15.5px;
  font-family:-apple-system,'SF Mono',monospace;letter-spacing:-0.3px}
.group-row .stats small{color:#888;font-weight:400;font-size:11px;margin-left:8px;
  font-family:inherit;letter-spacing:0.3px}

/* 明細 row */
.records{font-size:13px}
.records .rec{padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.05)}
.records .rec:last-child{border-bottom:none}
.records .rec-head{display:flex;justify-content:space-between;margin-bottom:4px;align-items:baseline}
.records .rec-customer{font-weight:700;color:#fff;font-size:14px;letter-spacing:0.2px}
.records .rec-total{color:#ffb84d;font-weight:700;font-size:15px;
  font-family:-apple-system,'SF Mono',monospace}
.records .rec-meta{color:#888;font-size:11.5px;line-height:1.7;letter-spacing:0.3px}
.records .rec-meta .tag{display:inline-block;background:rgba(255,255,255,0.06);padding:1px 8px;
  border-radius:4px;margin-right:5px;color:#aaa;font-size:11px}
.records .rec-items{margin-top:4px;color:#ccc;font-size:12px}

/* 按鈕 — 3D 立體計算機風 */
button.btn-primary,
.btn-primary{background:linear-gradient(180deg,#3a3a3c,#2a2a2c);color:#fff;border:none;
  padding:10px 18px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;
  letter-spacing:0.5px;font-family:inherit;
  box-shadow:0 3px 0 #1a1a1c, 0 4px 8px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.1);
  transition:transform 0.08s, box-shadow 0.08s}
button.btn-primary:active,
.btn-primary:active{transform:translateY(2px);box-shadow:0 1px 0 #1a1a1c, 0 2px 4px rgba(0,0,0,0.3)}

button.btn-accent,
.btn-accent{background:linear-gradient(180deg,#ff9f0a,#ff7a00);color:#fff;border:none;
  padding:10px 18px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;
  letter-spacing:0.5px;font-family:inherit;
  box-shadow:0 3px 0 #b35400, 0 4px 8px rgba(255,159,10,0.3), inset 0 1px 0 rgba(255,255,255,0.15);
  transition:transform 0.08s, box-shadow 0.08s}
button.btn-accent:active,
.btn-accent:active{transform:translateY(2px);box-shadow:0 1px 0 #b35400, 0 2px 4px rgba(255,159,10,0.3)}

button.btn-secondary,
.btn-secondary{background:rgba(255,255,255,0.06);color:#aaa;border:1px solid rgba(255,255,255,0.1);
  padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;
  letter-spacing:0.3px;font-family:inherit;transition:all 0.15s}
button.btn-secondary:hover,
.btn-secondary:hover{background:rgba(255,255,255,0.12);color:#fff}

button.btn-danger,
.btn-danger{background:linear-gradient(180deg,#ff453a,#cc342b);color:#fff;border:none;
  padding:10px 18px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;
  letter-spacing:0.5px;font-family:inherit;
  box-shadow:0 3px 0 #802018, 0 4px 8px rgba(255,69,58,0.3), inset 0 1px 0 rgba(255,255,255,0.1);
  transition:transform 0.08s, box-shadow 0.08s}
button.btn-danger:active,
.btn-danger:active{transform:translateY(2px);box-shadow:0 1px 0 #802018, 0 2px 4px rgba(255,69,58,0.3)}

/* 輸入框 */
input[type="text"],input[type="number"],input[type="password"],input[type="email"],textarea,select{
  padding:10px 14px;border:1px solid rgba(255,255,255,0.1);
  background:rgba(255,255,255,0.06);
  color:#fff;border-radius:10px;font-size:14px;width:100%;
  font-family:inherit;letter-spacing:0.2px}
input::placeholder,textarea::placeholder{color:#666}
input:focus,textarea:focus,select:focus{outline:none;border-color:#ffb84d;
  box-shadow:0 0 0 2px rgba(255,184,77,0.15)}

label{display:block;margin-bottom:6px;font-size:11px;color:#888;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;margin-top:12px}
label:first-of-type{margin-top:0}

/* table — 簡潔深色 */
table{width:100%;border-collapse:collapse;font-size:13px}
table th{background:rgba(255,255,255,0.04);color:#888;font-weight:700;text-transform:uppercase;
  letter-spacing:0.8px;font-size:11px;padding:10px 12px;text-align:left;
  border-bottom:1px solid rgba(255,255,255,0.08)}
table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,0.05);color:#ddd}
table tr:hover td{background:rgba(255,255,255,0.02)}

/* 標籤/badge */
.badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;
  letter-spacing:0.5px}
.badge.paid{background:rgba(52,199,89,0.2);color:#34c759}
.badge.unpaid{background:rgba(255,159,10,0.2);color:#ff9f0a}
.badge.member{background:rgba(10,132,255,0.2);color:#0a84ff}

/* alert / note */
.alert,.note{background:rgba(255,184,77,0.08);color:#ffd9a0;padding:12px 14px;border-radius:8px;
  border:1px solid rgba(255,184,77,0.25);font-size:12.5px;margin-bottom:14px;letter-spacing:0.3px;
  line-height:1.6}
.alert.danger{background:rgba(255,69,58,0.1);color:#ff8b85;border-color:rgba(255,69,58,0.3)}
.alert.success{background:rgba(52,199,89,0.1);color:#7ad891;border-color:rgba(52,199,89,0.3)}

/* code */
code{background:rgba(255,255,255,0.06);color:#ffb84d;padding:2px 6px;border-radius:4px;
  font-family:-apple-system,'SF Mono',monospace;font-size:12.5px}

/* list */
ul.list,.list{list-style:none;padding:0}
ul.list li,.list li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.05);
  color:#ddd;font-size:13.5px;letter-spacing:0.2px}
ul.list li:last-child,.list li:last-child{border-bottom:none}

/* phase tag */
.phase-tag{display:inline-block;background:rgba(10,132,255,0.2);color:#0a84ff;
  padding:1px 8px;border-radius:4px;font-size:10px;font-weight:700;
  letter-spacing:0.5px;margin-right:6px}

/* dividers */
hr{border:none;border-top:1px solid rgba(255,255,255,0.06);margin:18px 0}

/* general link */
a{color:#ffb84d;text-decoration:none;font-weight:500;transition:color 0.15s}
a:hover{color:#ffd9a0}

/* small text */
small{color:#888;font-size:11.5px;letter-spacing:0.3px}

/* placeholder text inside cards */
.placeholder-text{color:#666;text-align:center;padding:24px;font-size:13px;letter-spacing:0.3px}
