.compute-confirm { width: min(480px, calc(100vw - 32px)); border: 1px solid #dce7dd; border-radius: 14px; padding: 28px; color: #243729; background: #fff; box-shadow: 0 16px 70px #10201933; }
.compute-confirm::backdrop { background: #18241b66; }
.compute-confirm h2 { margin: 0 0 20px; font-size: 20px; }
.compute-confirm p { margin: 12px 0; font-size: 14px; line-height: 1.8; }
.compute-confirm .compute-confirm-cost { font-size: 23px; font-weight: 700; color: #278426; }
.compute-confirm .compute-confirm-note { color: #68776c; font-size: 13px; }
.compute-confirm-actions { display: flex; gap: 12px; justify-content: flex-end; margin-top: 24px; }
.compute-confirm-actions button,.compute-confirm-actions a { padding: 10px 16px; border: 1px solid #dce7dd; border-radius: 6px; background: #fff; color: #334737; cursor: pointer; font-size: 14px; }
.compute-confirm-actions .compute-confirm-primary { color: #fff; background: #278426; border-color: #278426; }
.compute-confirm-actions :focus-visible { outline: 2px solid #278426; outline-offset: 3px; }
.compute-page { color: #26372c; font-size: 14px; }
.compute-page .ui-icon { margin-right: 7px; color: #278426; }
.compute-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 22px; }
.compute-stat { padding: 18px; border: 1px solid #e0e9e1; border-radius: 10px; background: #f7faf7; }
.compute-stat span { display: block; color: #718076; font-size: 13px; }
.compute-stat strong { display: block; margin-top: 10px; font-size: 26px; color: #278426; }
.compute-note { padding: 16px 18px; margin: 16px 0 24px; border: 1px solid #deeadf; border-radius: 8px; background: #f5f9f5; line-height: 1.8; }
.compute-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.compute-links a { display: inline-flex; align-items: center; padding: 9px 14px; border: 1px solid #dce6dd; border-radius: 6px; color: #278426; }
.compute-page h3 { font-size: 16px; display: flex; align-items: center; margin: 26px 0 16px; }
.compute-packages { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.compute-package { display: flex; flex-direction: column; gap: 9px; border: 1px solid #dde7df; border-radius: 10px; padding: 18px; cursor: pointer; }
.compute-package:has(input:checked) { background: #f2f8f2; border-color: #278426; box-shadow: 0 0 0 1px #278426; }
.compute-package strong { font-size: 22px; color: #278426; }
.compute-package small { color: #718076; line-height: 1.7; }
.compute-package em { font-style: normal; font-size: 18px; }
.compute-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.compute-table th,.compute-table td { text-align: left; padding: 12px 8px; border-bottom: 1px solid #e6ece7; line-height: 1.7; }
.compute-table th { color: #718076; font-weight: 500; }
.compute-scroll { overflow-x: auto; }
.compute-submit { margin-top: 24px; border: 0; border-radius: 6px; background: #278426; color: #fff; padding: 12px 24px; cursor: pointer; font-size: 15px; }
@media(max-width:720px) { .compute-summary { grid-template-columns: 1fr; gap: 10px; }.compute-stat { display: flex; align-items: center; justify-content: space-between; }.compute-stat strong { margin-top: 0; }.compute-packages { grid-template-columns: repeat(2,minmax(0,1fr)); }.compute-package { padding: 14px; }.compute-package strong { font-size: 19px; }.compute-confirm { padding: 20px; } }

.compute-purchase-form { padding:24px 0; margin:0; }
.compute-purchase-form > .text-center:last-child { margin-top:26px; }
.compute-package { min-width:0; box-sizing:border-box; }
.compute-package strong { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.compute-package strong .ui-icon { flex:none; }
.code_tab_nav .ui-icon { width:18px; height:18px; vertical-align:middle; margin-right:6px; }
@media(max-width:480px) { .compute-packages { grid-template-columns:1fr; } .compute-package { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; }.compute-package small { grid-column:1 / -1; }.compute-package strong { font-size:18px; } }

.user_info .compute-tabs { float:none; display:flex; width:100%; flex-wrap:wrap; margin-bottom:0; }
.compute-purchase-form { clear:both; }
.compute-purchase-form > .text-center { text-align:center; }
