#gg-app {
  --gg-primary: #2e6da4; --gg-primary-dark: #24567f; --gg-bg: #f7f7f7; --gg-card: #ffffff;
  --gg-text: #333333; --gg-muted: #6f6f6f; --gg-border: #dedede; --gg-green: #287b3c;
  --gg-red: #bc3030; --gg-amber: #9c6900; --gg-radius: 4px;
  box-sizing: border-box; width: 100%; padding: 16px; background: var(--gg-bg); color: var(--gg-text); font-family: Arial, Helvetica, sans-serif;
}
#gg-app * { box-sizing: border-box; }
#gg-app button, #gg-app input, #gg-app select { font-family: inherit; }
#gg-app .gg-wrap { max-width: 1120px; margin: 0 auto; }
#gg-app .gg-title { margin: 0; color: #222; font-size: 27px; line-height: 1.25; text-align: center; text-transform: uppercase; letter-spacing: .4px; }
#gg-app .gg-subtitle { margin: 6px 0 18px; color: var(--gg-muted); text-align: center; font-size: 13px; }
#gg-app .gg-section-title { margin: 0 0 13px; padding-bottom: 8px; border-bottom: 3px solid var(--gg-primary); color: #222; font-size: 16px; line-height: 1.2; text-transform: uppercase; letter-spacing: .3px; }
#gg-app .gg-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
#gg-app .gg-card { padding: 17px; border: 1px solid var(--gg-border); border-top: 3px solid var(--gg-primary); border-radius: var(--gg-radius); background: var(--gg-card); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
#gg-app .gg-full { grid-column: 1 / -1; }
#gg-app .gg-label { display: block; margin: 10px 0 4px; color: #444; font-size: 12px; font-weight: bold; text-transform: uppercase; }
#gg-app .gg-input, #gg-app .gg-select { width: 100%; min-height: 40px; margin: 0; padding: 8px 9px; border: 1px solid #cfcfcf; border-radius: var(--gg-radius); background: #fff; color: var(--gg-text); font-size: 15px; }
#gg-app .gg-input:focus, #gg-app .gg-select:focus { outline: 0; border-color: var(--gg-primary); box-shadow: 0 0 0 2px rgba(46,109,164,.14); }
#gg-app .gg-button { display: inline-block; min-height: 40px; margin: 13px 0 0; padding: 9px 13px; border: 0; border-radius: var(--gg-radius); background: var(--gg-primary); color: #fff; font-size: 13px; font-weight: bold; letter-spacing: .2px; text-transform: uppercase; cursor: pointer; }
#gg-app .gg-button:hover { background: var(--gg-primary-dark); }
#gg-app .gg-button:disabled { cursor: not-allowed; opacity: .55; }
#gg-app .gg-button-save { background: var(--gg-green); }
#gg-app .gg-button-save:hover { background: #1d5e2d; }
#gg-app .gg-button-secondary { background: #737373; }
#gg-app .gg-button-secondary:hover { background: #565656; }
#gg-app .gg-button-danger { background: var(--gg-red); }
#gg-app .gg-button-danger:hover { background: #922020; }
#gg-app .gg-button-small { min-height: 30px; margin: 0; padding: 5px 8px; font-size: 11px; }
#gg-app .gg-button-wide { width: 100%; }
#gg-app .gg-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
#gg-app .gg-actions .gg-button { margin: 0; }
#gg-app .gg-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-bottom: 16px; }
#gg-app .gg-stat { padding: 11px 8px; border: 1px solid var(--gg-border); border-top: 3px solid var(--gg-primary); border-radius: var(--gg-radius); background: var(--gg-card); text-align: center; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
#gg-app .gg-stat-value { display: block; color: var(--gg-primary); font-size: 20px; font-weight: bold; }
#gg-app .gg-stat-label { display: block; margin-top: 3px; color: var(--gg-muted); font-size: 10px; font-weight: bold; text-transform: uppercase; }
#gg-app .gg-step-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#gg-app .gg-step { display: grid; grid-template-columns: 38px 1fr 38px; gap: 6px; align-items: center; }
#gg-app .gg-step button { min-height: 39px; margin: 0; padding: 0; border: 0; border-radius: var(--gg-radius); background: var(--gg-primary); color: #fff; font-size: 21px; line-height: 1; cursor: pointer; }
#gg-app .gg-step button:hover { background: var(--gg-primary-dark); }
#gg-app .gg-step input { min-height: 39px; width: 100%; margin: 0; padding: 7px; border: 1px solid #cfcfcf; border-radius: var(--gg-radius); background: #fff; color: var(--gg-text); font-size: 15px; text-align: center; }
#gg-app .gg-preview { margin-top: 11px; padding: 9px 10px; border-left: 3px solid var(--gg-primary); background: #eef4f9; color: var(--gg-muted); font-size: 13px; }
#gg-app .gg-preview strong { color: var(--gg-primary); }
#gg-app .gg-empty { margin: 0; padding: 12px 5px; color: var(--gg-muted); font-size: 13px; font-style: italic; text-align: center; }
#gg-app .gg-note { margin: -5px 0 10px; color: var(--gg-muted); font-size: 12px; }
#gg-app .gg-top-note { margin-top: 10px; }
#gg-app .gg-total-strip { margin-top: 13px; padding: 12px; border-top: 1px dashed var(--gg-border); background: #eef4f9; color: var(--gg-primary); font-size: 17px; font-weight: bold; text-align: center; }
#gg-app .gg-draft-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 11px; border-left: 4px solid var(--gg-amber); background: #fff7e8; }
#gg-app .gg-draft-title { color: #513500; font-size: 15px; font-weight: bold; }
#gg-app .gg-draft-meta { color: #76500c; font-size: 12px; }
#gg-app .gg-child-price-box { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding: 10px; border: 1px solid #d9e5ee; background: #f7fbfe; font-size: 13px; }
#gg-app .gg-child-price-box label { flex: 1; font-weight: bold; }
#gg-app .gg-child-price-box input { width: 95px; min-height: 34px; padding: 5px; border: 1px solid #cfcfcf; border-radius: var(--gg-radius); text-align: center; }
#gg-app .gg-group-row, #gg-app .gg-ticket-row, #gg-app .gg-balance-row, #gg-app .gg-transfer, #gg-app .gg-participant-row { border-bottom: 1px solid var(--gg-border); }
#gg-app .gg-group-row, #gg-app .gg-ticket-row, #gg-app .gg-balance-row { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 10px 3px; }
#gg-app .gg-group-row:last-child, #gg-app .gg-ticket-row:last-child, #gg-app .gg-balance-row:last-child { border-bottom: 0; }
#gg-app .gg-main { flex: 1; min-width: 0; }
#gg-app .gg-name { color: #222; font-weight: bold; }
#gg-app .gg-meta { margin-top: 3px; color: var(--gg-muted); font-size: 12px; }
#gg-app .gg-badge { display: inline-block; margin: 2px 0 0 5px; padding: 2px 6px; border-radius: var(--gg-radius); background: #e9f1f7; color: var(--gg-primary); font-size: 10px; font-weight: bold; text-transform: uppercase; }
#gg-app .gg-ticket-total { color: var(--gg-primary); font-size: 15px; font-weight: bold; white-space: nowrap; }
#gg-app .gg-participant-head, #gg-app .gg-participant-row { display: grid; grid-template-columns: minmax(130px, 1.35fr) 66px 66px 112px 96px 104px; gap: 8px; align-items: center; }
#gg-app .gg-participant-head { margin-top: 10px; padding: 7px 5px; border-bottom: 2px solid var(--gg-primary); color: var(--gg-muted); font-size: 10px; font-weight: bold; text-transform: uppercase; }
#gg-app .gg-participant-row { padding: 9px 5px; }
#gg-app .gg-participant-row.gg-off { opacity: .5; background: #fafafa; }
#gg-app .gg-check-label { display: flex; align-items: center; gap: 7px; min-width: 0; color: #222; font-size: 13px; font-weight: bold; }
#gg-app .gg-check-label input { width: 17px; height: 17px; margin: 0; accent-color: var(--gg-primary); }
#gg-app .gg-mini-input, #gg-app .gg-mini-select { width: 100%; min-height: 34px; margin: 0; padding: 5px; border: 1px solid #cfcfcf; border-radius: var(--gg-radius); background: #fff; color: var(--gg-text); font-size: 12px; text-align: center; }
#gg-app .gg-participant-amount { color: var(--gg-primary); font-size: 14px; font-weight: bold; text-align: right; white-space: nowrap; }
#gg-app .gg-calc-box { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 13px; }
#gg-app .gg-calc-item { padding: 8px; border: 1px solid #d9e5ee; background: #f7fbfe; font-size: 12px; }
#gg-app .gg-calc-item span { display: block; color: var(--gg-muted); font-size: 10px; text-transform: uppercase; }
#gg-app .gg-calc-item strong { display: block; margin-top: 3px; color: var(--gg-primary); font-size: 15px; }
#gg-app .gg-warning { margin-top: 11px; padding: 9px; border-left: 3px solid var(--gg-amber); background: #fff7e8; color: #76500c; font-size: 12px; }
#gg-app .gg-ok { margin-top: 11px; padding: 9px; border-left: 3px solid var(--gg-green); background: #edf8ef; color: var(--gg-green); font-size: 12px; }
#gg-app .gg-saved-box { padding: 12px; border-left: 4px solid var(--gg-green); background: #edf8ef; }
#gg-app .gg-saved-box strong { color: var(--gg-green); }
#gg-app .gg-summary-item { display: flex; justify-content: space-between; gap: 12px; padding: 7px 3px; border-bottom: 1px solid var(--gg-border); font-size: 13px; }
#gg-app .gg-summary-item:last-child { border-bottom: 0; }
#gg-app .gg-positive { color: var(--gg-green); font-weight: bold; }
#gg-app .gg-negative { color: var(--gg-red); font-weight: bold; }
#gg-app .gg-transfer { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-bottom: 8px; padding: 11px; border: 1px solid var(--gg-border); border-left: 4px solid var(--gg-green); border-radius: var(--gg-radius); background: #fafafa; }
#gg-app .gg-transfer-route { font-size: 14px; font-weight: bold; }
#gg-app .gg-transfer-amount { padding: 4px 8px; border: 1px solid #a7cfae; border-radius: var(--gg-radius); color: var(--gg-green); background: #fff; font-size: 14px; font-weight: bold; white-space: nowrap; }
#gg-app .gg-footer { margin-top: 18px; text-align: center; }
#gg-app .gg-hidden { display: none !important; }
@media (min-width: 760px) { #gg-app .gg-grid { grid-template-columns: 1fr 1fr; } #gg-app .gg-stats { grid-template-columns: repeat(5, 1fr); } #gg-app .gg-calc-box { grid-template-columns: repeat(5, 1fr); } }
@media (max-width: 700px) { #gg-app { padding: 10px; } #gg-app .gg-card { padding: 13px; } #gg-app .gg-title { font-size: 22px; } #gg-app .gg-participant-head { display: none; } #gg-app .gg-participant-row { grid-template-columns: 1fr 68px 68px; gap: 6px; } #gg-app .gg-participant-row > :nth-child(4) { grid-column: 1 / 3; } #gg-app .gg-participant-row > :nth-child(5) { grid-column: 3; grid-row: 2; } #gg-app .gg-participant-row > :nth-child(6) { grid-column: 1 / -1; text-align: left; } #gg-app .gg-participant-amount { padding-top: 2px; } #gg-app .gg-calc-box { grid-template-columns: 1fr 1fr; } }
