/* پوسته‌ی یکپارچه‌ی بخش کاربری؛ منطق صفحات قدیمی حفظ شده و فقط ظاهر بازطراحی شده است. */
:root { --primary:#3157d5; --accent:#7657d6; --muted:#64718a; --surface:#fff; --danger:#c94858; --radius:18px; --shadow:0 18px 45px rgba(31,42,68,.11); }
.app-page { min-height:100vh; }
.app-main { width:min(1040px,calc(100% - 2rem)); margin:0 auto; padding:3rem 0 4.5rem; }
.app-hero { max-width:760px; margin:0 auto 2rem; text-align:center; }
.app-hero h1 { margin:.2rem 0 .65rem; font-size:clamp(1.8rem,4vw,2.7rem); line-height:1.45; letter-spacing:-.05em; }
.app-hero p { margin:0; color:var(--ink-soft); }
.app-grid { display:grid; gap:1rem; }
.app-card { padding:clamp(1.1rem,3vw,1.7rem); background:rgba(255,255,255,.96); border:1px solid var(--line); border-radius:22px; box-shadow:0 8px 24px rgba(31,42,68,.05); }
.app-card h2,.app-card h3 { margin:.1rem 0 .7rem; }
.app-card p { color:var(--ink-soft); }
.app-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:.45rem; }
.app-page .status-message,.app-page .form-status { min-height:1.6rem; color:var(--muted); font-size:.86rem; }
.app-page .primary-button,.app-page .secondary-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:.62rem 1rem; border-radius:11px; cursor:pointer; font:inherit; font-weight:800; text-decoration:none; }
.app-page .primary-button { color:#fff; background:linear-gradient(135deg,var(--primary),var(--accent)); border:0; box-shadow:0 9px 19px rgba(49,87,213,.18); }
.app-page .secondary-button { color:var(--primary); background:#fff; border:1px solid #cfd9ef; }
.app-page .form-group { display:grid; gap:.4rem; margin-bottom:1rem; }
.app-page .form-group label { color:var(--ink); font-size:.88rem; font-weight:800; }
.app-page .form-group input,.app-page .form-group textarea,.app-page .form-group select { width:100%; padding:.75rem .85rem; color:var(--ink); background:#fbfcff; border:1px solid #cfd8e7; border-radius:12px; }
.app-page .form-group input:focus,.app-page .form-group textarea:focus,.app-page .form-group select:focus { outline:3px solid rgba(49,87,213,.13); border-color:var(--primary); }
.app-page .panel-card { background:#fff; border:1px solid var(--line); box-shadow:0 8px 22px rgba(31,42,68,.045); color:var(--ink); }
.balance-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.balance-card { padding:1.35rem; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,#f4f7ff,#fff); }
.balance-card--available { border-color:#b9cbff; background:linear-gradient(145deg,#eaf0ff,#fff); }
.balance-card--credit { border-color:#d9c5ff; background:linear-gradient(145deg,#f3efff,#fff); }
.balance-card small { display:block; color:var(--ink-soft); font-weight:700; }
.balance-card strong { display:block; margin-top:.35rem; color:var(--ink); font-size:1.5rem; }
.two-column { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.table-wrap { overflow:auto; }
.modern-table { width:100%; min-width:600px; border-collapse:collapse; }
.modern-table th,.modern-table td { padding:.85rem; border-bottom:1px solid var(--line); text-align:right; font-size:.87rem; }
.modern-table th { color:var(--ink-soft); font-weight:800; }
.status-badge { display:inline-flex; padding:.25rem .6rem; color:#495976; background:#edf2fb; border-radius:999px; font-size:.76rem; font-weight:800; }
.status-pending { color:#8a6410; background:#fff5dc; }.status-approved { color:#245db8; background:#e9f1ff; }.status-transferred { color:#087a55; background:#e5f7ef; }.status-rejected { color:#a33d4a; background:#ffe9ec; }
.notification-list { display:grid; gap:.75rem; }
.notification-item { padding:1rem; background:#fff; border:1px solid var(--line); border-radius:16px; }
.notification-item.unread { border-right:4px solid var(--primary); background:#f7f9ff; }
.notification-item h3 { margin:0 0 .3rem; font-size:1rem; }.notification-item p { margin:0; color:var(--ink-soft); font-size:.88rem; }.notification-item small { display:block; margin-top:.45rem; color:#8894a9; }
.support-layout { max-width:850px; margin:0 auto; }
.chat-wrapper { width:100%; }.chat-container { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); }
.chat-header { display:flex; align-items:center; padding:1rem 1.1rem; background:linear-gradient(135deg,#253e9a,#6d55d0); color:#fff; }.chat-title { display:block; font-weight:900; }.chat-status { display:block; color:#e8edff; font-size:.75rem; }
.chat-avatar { display:grid; place-items:center; width:39px; height:39px; background:rgba(255,255,255,.16); border-radius:13px; }.chat-header-info { display:grid; gap:.1rem; }
.chat-tabs { display:flex; background:#f7f9fd; border-bottom:1px solid var(--line); }.chat-tab-btn { flex:1; padding:.85rem; color:var(--ink-soft); background:transparent; border:0; border-bottom:2px solid transparent; cursor:pointer; font:inherit; font-weight:800; }.chat-tab-btn.active { color:var(--primary); border-bottom-color:var(--primary); }
.chat-messages { min-height:330px; max-height:440px; overflow:auto; padding:1rem; background:linear-gradient(180deg,#fbfcff,#f6f8fc); }.chat-message { max-width:82%; margin:.55rem 0; padding:.7rem .8rem; border-radius:15px; line-height:1.7; font-size:.88rem; }.chat-message.received,.chat-message.support { margin-left:auto; background:#fff; border:1px solid var(--line); }.chat-message.sent,.chat-message.user { margin-right:auto; color:#fff; background:linear-gradient(135deg,#3157d5,#7356d5); }.chat-message small { display:block; margin-top:.25rem; opacity:.72; font-size:.68rem; }.chat-input-area { display:flex; gap:.55rem; align-items:center; padding:.75rem; border-top:1px solid var(--line); }.chat-input-area textarea { flex:1; min-height:44px; max-height:110px; padding:.65rem .75rem; border:1px solid #cfd8e7; border-radius:12px; resize:vertical; font:inherit; }.attachment-btn,.send-btn { display:grid; place-items:center; min-width:42px; height:42px; color:var(--primary); background:#edf2ff; border:0; border-radius:11px; cursor:pointer; }.attachment-btn input { display:none; }.send-btn { padding:0 .8rem; color:#fff; background:var(--primary); font:inherit; font-weight:800; }
.project-list-card { margin-bottom:1rem; }.project-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }.project-summary { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; padding:1rem; background:#f7f9ff; border:1px solid #dbe4f5; border-radius:16px; }.project-summary div { display:flex; justify-content:space-between; gap:.75rem; color:var(--ink-soft); font-size:.84rem; }.project-summary strong { color:var(--ink); }.app-page .legacy-content { color:var(--ink); }
.admin-page .admin-overview { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin:1.25rem 0; text-align:right; }.admin-page .admin-overview > div { display:flex; gap:.65rem; align-items:flex-start; padding:.9rem; background:#fff; border:1px solid var(--line); border-radius:15px; }.admin-page .admin-overview span { display:grid; place-items:center; width:32px; height:32px; color:var(--primary); background:#edf2ff; border-radius:10px; }.admin-page .admin-overview p { margin:0; line-height:1.45; }.admin-page .admin-overview small { display:block; margin-top:.2rem; color:var(--ink-soft); font-size:.75rem; }.admin-page .admin-tabs { display:flex; gap:.5rem; margin:1.25rem 0; padding:.4rem; overflow:auto; background:#fff; border:1px solid var(--line); border-radius:16px; }.admin-page .admin-tabs button { flex:0 0 auto; padding:.55rem .75rem; color:var(--ink-soft); background:transparent; border:0; border-radius:10px; cursor:pointer; font:inherit; font-size:.8rem; font-weight:800; }.admin-page .admin-tabs button.active { color:#fff; background:linear-gradient(135deg,var(--primary),var(--accent)); }.admin-page .admin-section { margin-top:1rem; padding:1.3rem; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 8px 22px rgba(31,42,68,.045); }.admin-page .admin-section .panel-card,.admin-page .admin-section .admin-ticket { color:var(--ink)!important; background:#f9fbff!important; border-color:#dbe4f5!important; box-shadow:none!important; }.admin-page .admin-section strong:not(.primary-button *) { color:var(--ink)!important; }.admin-page .admin-section input,.admin-page .admin-section select,.admin-page .admin-section textarea { color:var(--ink)!important; background:#fff!important; border-color:#cfd8e7!important; }.admin-page .admin-section label { color:var(--ink-soft)!important; }
@media (max-width:650px) { .app-main { padding-top:2rem; }.balance-grid,.two-column,.project-form-grid,.project-summary { grid-template-columns:1fr; }.chat-messages { min-height:280px; }.chat-message { max-width:91%; }.app-header-actions .button { padding:.4rem .55rem; font-size:.7rem; } }
