/* Shared visual hierarchy: sections, editable fields and actions. */
#app .textbutton,dialog .textbutton{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #b9c8dc;border-radius:9px;background:#fff;color:#244fc9;padding:10px 14px;margin:5px 6px 5px 0;text-decoration:none;font:inherit;font-size:14px;font-weight:650;line-height:1.4;cursor:pointer}
#app .textbutton:hover,dialog .textbutton:hover{background:#edf3ff;border-color:#2755f5}
#app .inline-check{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #d5dfec;border-radius:10px;padding:13px 15px;margin:10px 0;line-height:1.5}
#app .inline-check input{flex:none;margin-top:5px;accent-color:#2755f5}
#app .field{margin-bottom:18px}
#app .field>label{display:block;margin-bottom:7px}
#app .field>input,#app .field>select,#app .field>textarea{width:100%}
#app .filters{border:1px solid #d2ddeb;border-radius:14px;background:#fff;padding:20px}
dialog{border:1px solid #c6d3e3;border-radius:16px;box-shadow:0 20px 80px #152a4930}
dialog .field{margin:16px 0}
dialog .field>label{display:block;margin-bottom:7px}
body{background:#f6f8fc}
header{background:#fff}
#app{padding-top:28px}
#app .panel,#app .publish-panel,#app .account-entry,#app .payment-panel,#app .listing-preview,#app .nm-referral-panel,#app .nm-phone-access{background:#fff;border:1px solid #cfd8e5;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 3px 12px #243f6710}
#app .panel>h2,#app .publish-panel>h2{margin-top:0}
#app .request{background:#fff;border:1px solid #c7d3e4;border-radius:14px;padding:22px;margin:18px 0;overflow:hidden}
#app .request h3{margin:12px 0 16px;line-height:1.35;overflow-wrap:anywhere}
#app .nm-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 6px}
#app .nm-action-grid>.button{width:100%;margin:0!important;min-width:0;min-height:52px;white-space:normal;text-align:center;line-height:1.35}
#app .button,dialog .button{border-radius:10px;border:1px solid #b9c8dc;min-height:46px;padding:12px 18px;font-size:15px;line-height:1.4;background:#fff;color:#24364b}
#app .button.primary,dialog .button.primary{background:#2755f5;border-color:#2755f5;color:#fff}
#app .button:hover,dialog .button:hover{background:#edf3ff;border-color:#2755f5}
#app .button.primary:hover,dialog .button.primary:hover{background:#2045cf;color:#fff}
#app input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),#app select,#app textarea,dialog input:not([type=checkbox]):not([type=radio]),dialog select,dialog textarea{border:1.5px solid #9bacbf;border-radius:9px;background:#fff;color:#17212b;min-height:46px;padding:11px 13px;box-shadow:inset 0 1px 3px #1a345a08;max-width:100%}
#app textarea{min-height:110px;resize:vertical}
#app input::placeholder,#app textarea::placeholder{color:#6c7b8e;opacity:1}
#app input:focus,#app select:focus,#app textarea:focus{border-color:#2755f5;outline:3px solid #dbe5ff;outline-offset:1px}
#app label{font-weight:650;color:#25364a}
#app input:disabled,#app select:disabled{background:#eef2f7;color:#758193}
#app details{border:1px solid #ccd7e4;border-radius:10px;background:#fafcff;padding:14px 16px;margin:16px 0}
#app details>summary{font-weight:700;cursor:pointer;line-height:1.5}
#app details[open]>summary{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #dce4ee}
#app .nm-listing-control,#app .nm-billing-summary{background:#f4f7fc;border:1px solid #d9e2ed;border-radius:12px;padding:18px;margin-top:22px}
#app .nm-visibility-switch{border:0;background:transparent;justify-content:flex-start;text-align:left}
#app .nm-info-box{background:#f3f6fb;border:1px solid #dce4ef;border-radius:10px;padding:14px 16px;color:#506176;font-size:14px;line-height:1.6;margin:16px 0}
#app .sectionhead{gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
#app .form-actions,#app .nm-billing-actions{gap:12px;margin-top:22px}
#app .pill{display:inline-block;padding:6px 12px;line-height:1.4;border-radius:8px;background:#edf2ff;color:#244fc9;font-size:13px;font-weight:700}
@media(max-width:620px){#app .panel,#app .publish-panel,#app .account-entry,#app .payment-panel,#app .nm-referral-panel,#app .nm-phone-access{padding:18px}#app .request{padding:16px}#app .nm-action-grid{grid-template-columns:1fr;gap:10px}#app .nm-action-grid>.button{justify-content:flex-start;text-align:left}#app .sectionhead>.button{width:100%}}
