/* GOS Client Area – Frontend */

.gos-ca-wrap { max-width:860px; margin:0 auto; padding:2rem 1rem; font-family:'Inter',system-ui,sans-serif; }

/* Login box */
.gos-ca-login-box { max-width:480px; margin:0 auto; background:#fff; border-radius:1.5rem; border:1px solid rgba(0,0,0,0.07); box-shadow:0 8px 40px rgba(0,0,0,0.08); padding:2.5rem 2rem; }

/* Login icon */
.gos-ca-login-icon-wrap { width:52px; height:52px; background:#F5F4F2; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; color:#4A2F1E; }

/* Header */
.gos-ca-login-header { text-align:center; margin-bottom:1.75rem; }
.gos-ca-login-header h2 { font-size:1.4rem; font-weight:800; color:#4A2F1E; margin-bottom:.4rem; }
.gos-ca-login-header p  { color:#666; font-size:.88rem; line-height:1.6; }

/* Tabs */
.gos-ca-tabs { display:flex; border-bottom:2px solid #e2e8f0; margin-bottom:1.75rem; }
.gos-ca-tab { flex:1; padding:.8rem 0; background:none; border:none; border-bottom:3px solid transparent; margin-bottom:-2px; font-size:.9rem; font-weight:600; color:#999; cursor:pointer; transition:all .2s; font-family:inherit; }
.gos-ca-tab:hover { color:#4A2F1E; }
.gos-ca-tab.active { color:#4A2F1E; border-bottom-color:#7A4A24; }

/* Form fields */
.gos-ca-field { margin-bottom:1.1rem; }
.gos-ca-field label { display:block; font-size:.82rem; font-weight:600; color:#1e3a5f; margin-bottom:.35rem; }
.gos-ca-required { color:#cc1818; }
.gos-ca-field input { width:100%; padding:.8rem 1rem; border:1px solid #e2e8f0; border-radius:.55rem; font-size:.92rem; color:#333; background:#fff; transition:border-color .2s; box-sizing:border-box; font-family:inherit; }
.gos-ca-field input:focus { outline:none; border-color:#4A2F1E; box-shadow:0 0 0 3px rgba(74,47,30,.07); }

/* Buttons */
.gos-ca-btn-primary { width:100%; padding:.95rem; background:#4A2F1E; color:#fff; border:none; border-radius:.55rem; font-size:.95rem; font-weight:700; cursor:pointer; transition:background .2s; margin-top:.5rem; font-family:inherit; }
.gos-ca-btn-primary:hover { background:#3a2316; }
.gos-ca-btn-primary:disabled { opacity:.65; cursor:not-allowed; }

.gos-ca-btn-secondary { display:inline-flex; align-items:center; gap:.4rem; padding:.6rem 1.1rem; background:#fff; color:#4A2F1E; border:1.5px solid rgba(74,47,30,.25); border-radius:.5rem; font-size:.85rem; font-weight:600; text-decoration:none; transition:all .2s; font-family:inherit; }
.gos-ca-btn-secondary:hover { background:#4A2F1E; color:#fff; border-color:#4A2F1E; }

.gos-ca-btn-logout { padding:.45rem 1.1rem; background:transparent; color:#666; border:1px solid #e2e8f0; border-radius:.5rem; font-size:.82rem; cursor:pointer; transition:all .2s; font-family:inherit; }
.gos-ca-btn-logout:hover { background:#fee2e2; color:#991b1b; border-color:#fca5a5; }

/* Messages */
.gos-ca-msg { padding:.8rem 1rem; border-radius:.5rem; font-size:.88rem; margin-bottom:1rem; display:none; line-height:1.5; }
.gos-ca-msg:not(:empty) { display:block; }
.gos-ca-msg-error   { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }
.gos-ca-msg-success { background:#d1fae5; color:#065f46; border:1px solid #a7f3d0; }

/* Help text */
.gos-ca-help-text { text-align:center; font-size:.82rem; color:#999; margin-top:1.25rem; }
.gos-ca-help-text a { color:#7A4A24; text-decoration:none; font-weight:600; }

/* Spinner */
.gos-ca-spinner { font-style:italic; color:rgba(255,255,255,.7); }
@keyframes spin { to { transform:rotate(360deg); } }

/* Dashboard */
.gos-ca-dash-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:2rem; padding-bottom:1.5rem; border-bottom:1px solid rgba(0,0,0,0.07); flex-wrap:wrap; gap:1rem; }
.gos-ca-welcome { display:flex; align-items:center; gap:1rem; }
.gos-ca-avatar { width:48px; height:48px; background:#4A2F1E; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.3rem; font-weight:800; flex-shrink:0; }
.gos-ca-welcome h2 { font-size:1.2rem; font-weight:700; color:#4A2F1E; margin:0 0 2px; }
.gos-ca-company-name { color:#7A4A24; font-size:.85rem; margin:0; }

/* Sections */
.gos-ca-section { background:#fff; border:1px solid rgba(0,0,0,0.07); border-radius:1.25rem; padding:1.75rem; margin-bottom:1.25rem; }
.gos-ca-section-title { font-size:1rem; font-weight:700; color:#4A2F1E; margin:0 0 1.25rem; display:flex; align-items:center; gap:.5rem; }

/* Loading */
.gos-ca-loading { display:flex; align-items:center; gap:.75rem; color:#999; font-size:.9rem; padding:.75rem 0; }
.gos-ca-spinner-ring { width:20px; height:20px; border:2px solid #e2e8f0; border-top-color:#7A4A24; border-radius:50%; animation:spin .7s linear infinite; flex-shrink:0; }

/* Empty */
.gos-ca-empty p { color:#888; font-size:.9rem; font-style:italic; padding:.5rem 0; }

/* Docs grid */
.gos-ca-docs-grid { display:grid; gap:.65rem; }
.gos-ca-doc-card { display:flex; align-items:center; gap:1rem; padding:.9rem 1.1rem; border:1px solid rgba(0,0,0,0.07); border-radius:.75rem; background:#fafafa; transition:border-color .2s,background .2s; }
.gos-ca-doc-card:hover { border-color:#7A4A24; background:#fff; }

/* File type badge (replaces emoji) */
.gos-ca-doc-badge { width:40px; height:40px; background:#4A2F1E; color:#fff; border-radius:.5rem; display:flex; align-items:center; justify-content:center; font-size:.65rem; font-weight:800; letter-spacing:.04em; flex-shrink:0; }

.gos-ca-doc-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.gos-ca-doc-name { font-size:.9rem; font-weight:600; color:#333; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gos-ca-doc-meta { font-size:.75rem; color:#999; }
.gos-ca-doc-dl { flex-shrink:0; padding:.4rem .9rem; background:#4A2F1E; color:#fff; border-radius:.45rem; font-size:.78rem; font-weight:600; text-decoration:none; transition:background .2s; white-space:nowrap; }
.gos-ca-doc-dl:hover { background:#3a2316; color:#fff; }

/* Contact block */
.gos-ca-contact-block p { color:#666; font-size:.9rem; line-height:1.6; margin-bottom:.9rem; }
.gos-ca-contact-row { display:flex; flex-wrap:wrap; gap:.65rem; }

/* Responsive */
@media (max-width:600px) {
    .gos-ca-login-box { padding:1.75rem 1.25rem; }
    .gos-ca-doc-card { flex-wrap:wrap; }
    .gos-ca-doc-dl { width:100%; text-align:center; }
}
