/* at10 member panel
   Copyright (c) 2026 Christopher Sarich | NanoReash | Techartery

   The .nr- panel stylesheet, unchanged from the version supplied. It is
   fully prefixed and self-contained, so it drops in without colliding with
   NanoReash page styles. Nothing here has been rewritten - only the fee
   block at the end is added, and it is marked. */

.nr-admin-panel{width:100%;min-height:100%;background:#f4f6f8;color:#20252b;font-family:Arial,Helvetica,sans-serif;box-sizing:border-box}
.nr-admin-panel *,.nr-admin-panel *:before,.nr-admin-panel *:after{box-sizing:border-box}
.nr-admin-head{background:#20262d;color:#fff;padding:24px 28px;border-bottom:1px solid #11161b}
.nr-admin-head h1{margin:0;font-size:26px;font-weight:700}
.nr-admin-head p{margin:7px 0 0;color:#b9c1c9;font-size:14px}
.nr-admin-body{padding:22px}
.nr-admin-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.nr-admin-tab{border:1px solid #d7dce1;background:#fff;color:#343a40;padding:10px 14px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600;transition:.15s ease}
.nr-admin-tab:hover{background:#eef1f4}
.nr-admin-tab.active{background:#20262d;color:#fff;border-color:#20262d}
.nr-admin-content{display:none}
.nr-admin-content.active{display:block}
.nr-admin-subtabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;padding:10px;background:#e9edf1;border-radius:8px}
.nr-admin-subtab{border:0;background:transparent;color:#4b535b;padding:9px 13px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600}
.nr-admin-subtab.active{background:#fff;color:#20262d;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.nr-admin-subcontent{display:none}
.nr-admin-subcontent.active{display:block}
.nr-card{background:#fff;border:1px solid #dce1e5;border-radius:9px;padding:20px;margin-bottom:16px}
.nr-card h2{margin:0 0 6px;font-size:19px}
.nr-card h3{margin:0 0 12px;font-size:15px}
.nr-card p{color:#69727b;font-size:13px;line-height:1.6;margin:6px 0}
.nr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.nr-stat{background:#fff;border:1px solid #dce1e5;border-radius:9px;padding:17px}
.nr-stat-label{font-size:11px;color:#7a838c;text-transform:uppercase;letter-spacing:.4px}
.nr-stat-value{margin-top:7px;font-size:24px;font-weight:700}
.nr-stat-note{margin-top:4px;font-size:11px;color:#879099}
.nr-list{margin:0;padding:0;list-style:none}
.nr-list li{padding:12px 0;border-bottom:1px solid #edf0f2;font-size:13px}
.nr-list li:last-child{border-bottom:0}
.nr-row{display:flex;justify-content:space-between;align-items:center;gap:15px}
.nr-badge{display:inline-block;padding:5px 8px;border-radius:20px;background:#eef1f3;color:#4f5962;font-size:10px;font-weight:700}
.nr-table{width:100%;border-collapse:collapse;font-size:12px}
.nr-table th{text-align:left;background:#f1f3f5;padding:11px;border-bottom:1px solid #dce1e5;font-size:11px}
.nr-table td{padding:11px;border-bottom:1px solid #edf0f2;vertical-align:top}
.nr-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.nr-field{display:flex;flex-direction:column;gap:6px}
.nr-field.full{grid-column:1/-1}
.nr-field label{font-size:11px;font-weight:700;color:#59626b}
.nr-field input,.nr-field select,.nr-field textarea{width:100%;border:1px solid #d5dbe0;border-radius:6px;padding:10px;background:#fff;font-size:13px;color:#252b31}
.nr-field textarea{min-height:100px;resize:vertical}
.nr-button{display:inline-block;border:0;border-radius:6px;background:#20262d;color:#fff;padding:10px 15px;font-size:12px;font-weight:700;cursor:pointer}
.nr-button.secondary{background:#e9edf1;color:#343a40}
.nr-button.danger{background:#b73535;color:#fff}
.nr-button.success{background:#2f6f44;color:#fff}
.nr-empty{padding:28px;text-align:center;background:#fafbfc;border:1px dashed #d8dde2;border-radius:8px;color:#7b858e;font-size:13px}
.nr-location-card{border:1px solid #dce1e5;background:#fafbfc;border-radius:8px;padding:15px;margin-bottom:12px}
.nr-location-card .nr-row{align-items:flex-start}
.nr-location-name{font-weight:700;font-size:14px}
.nr-location-meta{color:#7b858e;font-size:11px;margin-top:4px}
.nr-profile-card{border:1px solid #dce1e5;border-radius:8px;background:#fff;padding:16px;margin-bottom:12px}
.nr-profile-card h3{margin-bottom:5px}
.nr-profile-status{display:inline-block;margin-top:5px;padding:5px 8px;border-radius:20px;background:#eef1f3;color:#4f5962;font-size:10px;font-weight:700}
.nr-message{padding:12px 0;border-bottom:1px solid #edf0f2}
.nr-message:last-child{border-bottom:0}
.nr-message-subject{font-weight:700;font-size:13px}
.nr-message-meta{margin-top:4px;color:#7b858e;font-size:11px}
.nr-rating{padding:16px 0;border-bottom:1px solid #edf0f2}
.nr-rating:last-child{border-bottom:0}
.nr-rating-title{font-weight:700;font-size:14px;margin-bottom:8px}
.nr-rating-controls{display:grid;grid-template-columns:1fr 150px auto;gap:10px;align-items:center}
.nr-avatar{width:70px;height:70px;border-radius:50%;object-fit:cover;background:#eef1f3;border:1px solid #dce1e5}
.nr-check{display:flex;align-items:center;gap:8px;font-size:12px;color:#59626b}
.nr-check input{width:auto}
.nr-location-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.nr-location-option{border:1px solid #dce1e5;border-radius:7px;padding:12px;background:#fff}
.nr-location-option label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:12px;font-weight:600}
.nr-location-option input{margin-top:2px}
@media(max-width:900px){.nr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nr-location-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.nr-rating-controls{grid-template-columns:1fr}}
@media(max-width:600px){.nr-admin-body{padding:12px}.nr-grid,.nr-form-grid,.nr-location-selector{grid-template-columns:1fr}.nr-field.full{grid-column:auto}.nr-admin-tab{width:100%;text-align:left}}

/* ---- ADDED: fee disclosure ----
   The only block not in the supplied stylesheet. The "you receive" line is
   deliberately the heaviest thing on the card - it is the figure a seller
   is agreeing to, and it is shown before they accept, not at payout. */
.at10-fees{border:1px solid #dce1e5;border-radius:8px;background:#fff;padding:16px;margin-bottom:12px}
.at10-fees-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 0;border-bottom:1px solid #edf0f2;font-size:13px}
.at10-fees-row:last-of-type{border-bottom:0}
.at10-fees-net{font-weight:700;font-size:16px;color:#20262d;border-top:2px solid #dce1e5;border-bottom:0;padding-top:12px}
.at10-fees-note{margin:8px 0 0;color:#7b858e;font-size:11px;line-height:1.5}
.at10-state{display:inline-block;padding:4px 8px;border-radius:20px;font-size:10px;font-weight:700;background:#eef1f3;color:#4f5962}
.at10-state.is-active{background:#e4efe8;color:#2f6f44}
.at10-state.is-fee_due{background:#f6ece2;color:#8a5a24}
.at10-state.is-rejected{background:#f4e2e2;color:#b73535}

/* ---- VERDICTS ----
   Deliberately plain. A trust signal that shouts is a trust signal a buyer
   discounts, and the count is doing the work here, not the styling. */
.at10-verdict{font-size:12px;color:#4f5962}
.at10-verdict-new{color:#7b858e;font-style:italic}

/* ---- BUY PATH ---- */
.at10-listing-desc{font-size:14px;line-height:1.65;color:#444;margin-top:10px}
.at10-extra-row{border-bottom:1px solid #edf0f2;padding:10px 0}
.at10-extra-row:last-child{border-bottom:0}
.at10-extra-row label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px}
.at10-extra-row label>span:first-of-type{flex:1}
.at10-extra-price{font-weight:700;white-space:nowrap}

/* ---- MESSAGES ---- */
.at10-thread{max-height:340px;overflow-y:auto;padding-right:4px}
.at10-msg{padding:9px 0;border-bottom:1px solid #edf0f2}
.at10-msg:last-child{border-bottom:0}
.at10-msg-who{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#7a838c}
.at10-msg-body{font-size:13px;line-height:1.55;color:#343a40;margin-top:3px}
.at10-msg-mine .at10-msg-who{color:#2f6f44}

/* ---- BROWSE ---- */
.at10-browse-form .nr-form-grid{grid-template-columns:2fr 1fr 1fr}
.at10-browse-row{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #edf0f2}
.at10-browse-row:last-child{border-bottom:0}
.at10-browse-main{flex:1;min-width:0}
.at10-browse-title{font-weight:700;font-size:14px;color:#20262d;text-decoration:none}
.at10-browse-title:hover{text-decoration:underline}
.at10-browse-desc{font-size:12px;color:#69727b;line-height:1.5;margin:3px 0}
.at10-browse-price{font-weight:700;font-size:15px;white-space:nowrap}
@media(max-width:600px){.at10-browse-form .nr-form-grid{grid-template-columns:1fr}}

/* ---- LOCATIONS ---- */
.at10-loc{font-size:12px;color:#4f5962}
.at10-loc-global{color:#7b858e;font-style:italic}

/* ---- TYPING ----
   Quiet on purpose. An indicator that shouts is one people learn to ignore,
   and it appears and disappears often. */
.at10-typing{font-size:11px;color:#7b858e;font-style:italic;padding:6px 2px}

/* ---- TOGGLES ----
   The platform's .toggle/.toggle-label/.toggle-content do the work. These
   only add what at10 needs on top: a meta line in the closed label, and a
   badge. Nothing here redefines the platform's classes - a second
   definition that drifts from the first is worse than no definition. */
.at10-toggle{margin-bottom:6px}
.at10-toggle-meta{display:block;font-size:11px;color:#7b858e;font-weight:400;margin-top:2px}
.at10-badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:10px;
            background:#eef1f3;color:#4f5962;font-size:11px;font-weight:700}
.at10-badge-strong{background:#2f6f44;color:#fff}

/* ---- THE SKILL PAGE ----
   The 2012 page's shape: a crumb, a title, a stat bar, then the work. */
.at10-crumb{font-size:12px;color:#69727b;padding:4px 2px 10px}
.at10-crumb a{color:#4f5962}
.at10-skill-title{font-size:24px;line-height:1.3;margin:0 0 14px}
.at10-stats{display:flex;flex-wrap:wrap;gap:22px;padding:12px 0;border-top:1px solid #edf0f2;
            border-bottom:1px solid #edf0f2;margin-bottom:16px}
.at10-stat{display:flex;flex-direction:column}
.at10-stat-n{font-size:19px;font-weight:700;line-height:1.2}
.at10-stat-l{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#7a838c}
.at10-skill-desc{font-size:14px;line-height:1.7;color:#343a40}
/* No gallery rules here on purpose. Images go in .thinkgrid, which the
   platform already styles - a second set of rules for the same thing drifts
   from the first, and then two pages on one site crop images differently
   for no reason anybody can explain.

   .thinkgrid needs js/thinkgrid.js for its lightbox. Without it the grid
   still renders correctly and simply does not open - which is how this
   should degrade. */
.at10-skill .thinkgrid{margin:14px 0}
.at10-buybox{border:2px solid #dce1e5}
@media(max-width:600px){.at10-stats{gap:14px}.at10-skill-title{font-size:19px}}

/* ---- PICTURE SLOTS ----
   Each its own form, so replacing one does not mean re-uploading seven. */
.at10-imgslot{display:inline-block;vertical-align:top;margin:0 10px 10px 0}

/* ---- SAVED REPLIES ----
   Quiet, and out of the way of the message box. Hidden until the script
   fills it, so a browser with scripts blocked sees nothing rather than an
   empty box that does nothing. */
.at10-saved{margin-top:14px;padding:10px 12px;border:1px solid #e4e8eb;border-radius:7px;background:#fafbfc}
.at10-saved-head{font-size:12px;margin-bottom:6px}
.at10-saved-list{margin:0 0 8px;padding-left:18px;font-size:13px;line-height:1.7}
.at10-saved-list li{cursor:pointer;border-radius:4px;padding:1px 4px}
.at10-saved-list li:hover{background:#eef1f4}
.at10-saved-list:focus{outline:2px solid #c9d3db;outline-offset:3px;cursor:text}

/* ---- VERSION ----
   Quiet. It is for whoever is diagnosing something, not for the member. */
.at10-version{font-size:11px;color:#9aa3ab;white-space:nowrap}
