/* =========================================================
   Keraplast Distributor Portal — Styles v1.1
   Primary: #22282B | Accent: #88756D | Text: #667085
   ========================================================= */

/* ---- Hard reset (defeats Elementor/theme styles) ---- */
body.kp-dist-page { margin:0!important; padding:0!important; background:#F1F1F1!important; font-family:'Manrope',Arial,sans-serif!important; color:#667085!important; min-height:100vh!important; }
body.kp-dist-page *, body.kp-dist-page *::before, body.kp-dist-page *::after { box-sizing:border-box; }
body.kp-dist-page button, body.kp-dist-page input[type="submit"], body.kp-dist-page input[type="button"] { all:unset; box-sizing:border-box; font-family:'Manrope',Arial,sans-serif; cursor:pointer; display:inline-block; }
body.kp-dist-page a { color:inherit; text-decoration:none; }

/* =========================================================
   Header
   ========================================================= */
body.kp-dist-page .kp-portal-header {
	background:#22282B; padding:0 32px; display:flex; align-items:center;
	justify-content:space-between; height:64px; position:sticky; top:0; z-index:200;
}
body.kp-dist-page .kp-portal-header img { max-height:32px; width:auto; display:block; }
body.kp-dist-page .kp-portal-header-right { display:flex; align-items:center; gap:10px; }
body.kp-dist-page .kp-user-name { font-size:13px; color:rgba(255,255,255,0.55); }
body.kp-dist-page .kp-logout-btn {
	font-size:13px; font-weight:600; color:#fff; background:rgba(255,255,255,0.1)!important;
	border:1px solid rgba(255,255,255,0.2)!important; border-radius:100px!important;
	padding:7px 16px!important; text-decoration:none!important; cursor:pointer!important; transition:background 0.2s;
}
body.kp-dist-page .kp-logout-btn:hover { background:rgba(255,255,255,0.2)!important; }

/* =========================================================
   Tabs (header tabs)
   ========================================================= */
body.kp-dist-page .kp-tab {
	display:inline-flex!important; align-items:center!important; gap:7px!important;
	padding:7px 16px!important; font-family:'Manrope',Arial,sans-serif!important;
	font-size:13px!important; font-weight:600!important; color:rgba(255,255,255,0.6)!important;
	background:transparent!important; border:1px solid rgba(255,255,255,0.2)!important;
	border-radius:100px!important; cursor:pointer!important; transition:all 0.18s!important; line-height:1!important;
}
body.kp-dist-page .kp-tab:hover { color:#fff!important; border-color:rgba(255,255,255,0.4)!important; }
body.kp-dist-page .kp-tab.active { color:#22282B!important; background:#fff!important; border-color:#fff!important; }
body.kp-dist-page .kp-tab-count {
	display:inline-flex!important; align-items:center!important; justify-content:center!important;
	min-width:18px!important; height:18px!important; padding:0 5px!important;
	background:rgba(255,255,255,0.2)!important; color:inherit!important;
	font-size:10px!important; font-weight:700!important; border-radius:100px!important; line-height:1!important;
}
body.kp-dist-page .kp-tab.active .kp-tab-count { background:#22282B!important; color:#fff!important; }

/* =========================================================
   Layout: File Browser (admin)
   ========================================================= */
body.kp-dist-page .kp-admin-wrapper { display:flex; flex-direction:column; height:calc(100vh - 64px); }
body.kp-dist-page .kp-browser-layout { display:flex; flex:1; height:calc(100vh - 64px); overflow:hidden; }
body.kp-dist-page .kp-dist-tab-layout { flex:1; overflow-y:auto; }
body.kp-dist-page .kp-admin-main { max-width:900px; margin:0 auto; padding:40px 24px 80px; }

/* =========================================================
   Sidebar
   ========================================================= */
body.kp-dist-page .kp-sidebar {
	width:240px; flex-shrink:0; background:#fff; border-right:1px solid #E8EEEE;
	overflow-y:auto; display:flex; flex-direction:column;
}
body.kp-dist-page .kp-sidebar-header {
	display:flex; align-items:center; justify-content:space-between;
	padding:16px 16px 12px; border-bottom:1px solid #E8EEEE; flex-shrink:0;
	font-size:11px; font-weight:700; color:#667085; text-transform:uppercase; letter-spacing:0.6px;
}
body.kp-dist-page .kp-folder-nav { padding:6px 0; flex:1; }

/* Folder tree */
body.kp-dist-page .kp-folder-tree-list { list-style:none!important; margin:0!important; padding:0!important; }
body.kp-dist-page .kp-folder-item { margin:0!important; padding:0!important; }
body.kp-dist-page .kp-folder-label {
	display:flex!important; align-items:center!important; gap:6px!important;
	padding:7px 14px!important; cursor:pointer!important; font-size:13px!important;
	color:#22282B!important; border-radius:0!important; transition:background 0.15s!important;
	user-select:none!important; line-height:1.2!important;
}
body.kp-dist-page .kp-folder-label:hover { background:#F8F8F8!important; }
body.kp-dist-page .kp-folder-label.kp-folder-active { background:#F0EDE9!important; color:#88756D!important; font-weight:700!important; }
body.kp-dist-page .kp-folder-icon-svg { width:16px!important; height:16px!important; flex-shrink:0!important; opacity:0.7; }
body.kp-dist-page .kp-folder-name { flex:1!important; font-size:13px!important; min-width:0!important; overflow:hidden!important; text-overflow:ellipsis!important; white-space:nowrap!important; }
body.kp-dist-page .kp-folder-count { font-size:11px!important; color:#999!important; flex-shrink:0!important; }
body.kp-dist-page .kp-folder-arrow { font-size:10px!important; color:#999!important; width:12px!important; text-align:center!important; flex-shrink:0!important; transition:transform 0.15s!important; display:inline-block!important; }
body.kp-dist-page .kp-arrow-spacer { width:12px!important; display:inline-block!important; flex-shrink:0!important; }
body.kp-dist-page .kp-folder-item.kp-folder-open > .kp-folder-label .kp-folder-arrow { transform:rotate(90deg)!important; }

/* Nested folders hidden by default */
body.kp-dist-page .kp-folder-item .kp-folder-tree-list { display:none!important; padding-left:20px!important; }
body.kp-dist-page .kp-folder-item.kp-folder-open > .kp-folder-tree-list { display:block!important; }

body.kp-dist-page .kp-folder-root { padding-left:14px!important; }

/* =========================================================
   Browser Main Panel
   ========================================================= */
body.kp-dist-page .kp-browser-main { flex:1; overflow-y:auto; display:flex; flex-direction:column; background:#F4F5F6; }

body.kp-dist-page .kp-browser-toolbar {
	display:flex; align-items:center; justify-content:space-between;
	padding:12px 24px; background:#fff; border-bottom:1px solid #E8EEEE; flex-shrink:0;
}

body.kp-dist-page .kp-toolbar-actions { display:flex; gap:8px; align-items:center; }

body.kp-dist-page .kp-upload-panel, body.kp-dist-page .kp-new-folder-form {
	padding:0 24px; background:#fff; border-bottom:1px solid #E8EEEE;
}
body.kp-dist-page .kp-upload-panel .kp-admin-section { box-shadow:none; border-radius:0; border-bottom:none; }

body.kp-dist-page .kp-browser-content { flex:1; padding:24px; }

/* Item grid */
body.kp-dist-page #kp-browser-items {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
	gap:14px;
	align-content:start;
}

body.kp-dist-page .kp-browser-item {
	background:#fff; border-radius:12px; padding:16px 12px 12px;
	display:flex; flex-direction:column; align-items:center; gap:8px;
	cursor:pointer; transition:box-shadow 0.18s, transform 0.15s;
	position:relative; text-align:center;
	border:1.5px solid transparent;
}
body.kp-dist-page .kp-browser-item:hover { box-shadow:0 4px 16px rgba(34,40,43,0.1); transform:translateY(-1px); border-color:#E8EEEE; }
body.kp-dist-page .kp-browser-item:hover .kp-browser-item-actions { opacity:1!important; }

body.kp-dist-page .kp-browser-item-icon {
	width:52px; height:52px; border-radius:10px; background:#F0EDE9;
	display:flex; align-items:center; justify-content:center;
}
body.kp-dist-page .kp-browser-item-icon svg { width:28px; height:28px; color:#88756D; }
body.kp-dist-page .kp-browser-folder .kp-browser-item-icon { background:#E8EEEE; }
body.kp-dist-page .kp-browser-folder .kp-browser-item-icon svg { color:#22282B; }

body.kp-dist-page .kp-browser-item-name {
	font-size:12px!important; font-weight:600!important; color:#22282B!important;
	line-height:1.3!important; word-break:break-word!important; width:100%!important;
}
body.kp-dist-page .kp-browser-item-meta { font-size:11px!important; color:#999!important; }

body.kp-dist-page .kp-browser-item-actions {
	position:absolute!important; top:6px!important; right:6px!important;
	display:flex!important; gap:4px!important; opacity:0!important; transition:opacity 0.15s!important;
}

body.kp-dist-page .kp-browser-empty {
	grid-column:1/-1; text-align:center; padding:60px 20px; color:#667085; font-size:14px;
}

/* File icon inside browser grid */
body.kp-dist-page .kp-browser-file .kp-browser-item-icon {
	width:52px!important; height:52px!important; border-radius:10px!important;
	font-size:12px!important; font-weight:800!important; letter-spacing:0.3px!important;
	display:flex!important; align-items:center!important; justify-content:center!important;
}

/* =========================================================
   Breadcrumb
   ========================================================= */
body.kp-dist-page .kp-breadcrumb { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
body.kp-dist-page .kp-crumb {
	font-size:13px!important; font-weight:600!important; color:#667085!important;
	cursor:pointer!important; transition:color 0.15s!important; background:none!important;
	border:none!important; padding:0!important; border-radius:0!important;
}
body.kp-dist-page .kp-crumb:hover { color:#22282B!important; }
body.kp-dist-page .kp-crumb-current { color:#22282B!important; cursor:default!important; }
body.kp-dist-page .kp-crumb-sep { color:#D9D9D9; font-size:14px; }

/* =========================================================
   Icon buttons (rename/delete in browser)
   ========================================================= */
body.kp-dist-page .kp-icon-btn {
	display:inline-flex!important; align-items:center!important; justify-content:center!important;
	width:26px!important; height:26px!important; border-radius:6px!important;
	background:#F1F1F1!important; border:none!important; cursor:pointer!important;
	color:#667085!important; transition:all 0.15s!important; padding:0!important;
}
body.kp-dist-page .kp-icon-btn:hover { background:#22282B!important; color:#fff!important; }
body.kp-dist-page #kp-new-root-folder { background:transparent!important; color:rgba(255,255,255,0.7)!important; width:24px!important; height:24px!important; }
body.kp-dist-page #kp-new-root-folder:hover { color:#fff!important; }

/* =========================================================
   Action Buttons (pill outline)
   ========================================================= */
body.kp-dist-page .kp-action-btn {
	display:inline-flex!important; align-items:center!important; gap:6px!important;
	padding:7px 14px!important; border-radius:100px!important; font-size:12px!important;
	font-weight:600!important; line-height:1!important; cursor:pointer!important;
	border:1.5px solid #E3E3E3!important; font-family:'Manrope',Arial,sans-serif!important;
	transition:all 0.18s!important; background:transparent!important; color:#22282B!important;
	text-decoration:none!important; white-space:nowrap!important;
}
body.kp-dist-page .kp-action-btn:hover { background:#22282B!important; color:#fff!important; border-color:#22282B!important; }
body.kp-dist-page .kp-action-btn.welcome { color:#88756D!important; border-color:#88756D!important; }
body.kp-dist-page .kp-action-btn.welcome:hover { background:#88756D!important; color:#fff!important; }
body.kp-dist-page .kp-action-btn.welcome.kp-welcome-pending { background:#88756D!important; color:#fff!important; border-color:#88756D!important; }
body.kp-dist-page .kp-action-btn.delete { color:#C0392B!important; border-color:#F5C6C6!important; }
body.kp-dist-page .kp-action-btn.delete:hover { background:#C0392B!important; color:#fff!important; border-color:#C0392B!important; }
body.kp-dist-page .kp-action-btn:disabled { opacity:0.5!important; cursor:not-allowed!important; }

/* =========================================================
   Primary Button
   ========================================================= */
body.kp-dist-page .kp-btn {
	display:block!important; width:100%!important; padding:13px 20px!important;
	background:#22282B!important; color:#fff!important; font-family:'Manrope',Arial,sans-serif!important;
	font-size:15px!important; font-weight:600!important; border:none!important;
	border-radius:100px!important; cursor:pointer!important; text-align:center!important;
	text-decoration:none!important; transition:background 0.2s!important; margin-top:8px!important;
	letter-spacing:0.2px!important; box-shadow:none!important; line-height:1.4!important;
}
body.kp-dist-page .kp-btn:hover { background:#88756D!important; color:#fff!important; }
body.kp-dist-page .kp-btn:disabled { opacity:0.6!important; cursor:not-allowed!important; }

/* =========================================================
   Upload Drop Zone
   ========================================================= */
body.kp-dist-page .kp-file-drop-zone {
	border:2px dashed #D9D9D9; border-radius:12px; padding:28px 20px;
	text-align:center; background:#FAFAFA; transition:border-color 0.2s, background 0.2s;
}
body.kp-dist-page .kp-file-drop-zone.dragover { border-color:#88756D; background:#F8F5F4; }
body.kp-dist-page .kp-file-drop-zone p { margin:8px 0 0; font-size:14px; color:#667085; }
body.kp-dist-page .kp-browse-inline-btn {
	color:#88756D!important; font-weight:600!important; text-decoration:underline!important;
	text-underline-offset:2px!important; background:none!important; border:none!important;
	cursor:pointer!important; font-size:inherit!important; font-family:inherit!important; padding:0!important;
}
body.kp-dist-page .kp-browse-inline-btn:hover { color:#22282B!important; }

body.kp-dist-page .kp-file-upload-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }

/* =========================================================
   New folder inline input
   ========================================================= */
body.kp-dist-page .kp-new-folder-form input[type="text"],
body.kp-dist-page #kp-new-folder-name {
	width:100%!important; padding:10px 14px!important; border:1.5px solid #E3E3E3!important;
	border-radius:10px!important; font-family:'Manrope',Arial,sans-serif!important;
	font-size:14px!important; color:#22282B!important; background:#fff!important; outline:none!important;
}
body.kp-dist-page #kp-new-folder-name:focus { border-color:#88756D!important; }

/* =========================================================
   Form Groups
   ========================================================= */
body.kp-dist-page .kp-form-group { margin-bottom:16px; }
body.kp-dist-page .kp-form-group:last-child { margin-bottom:0; }
body.kp-dist-page .kp-form-group label {
	display:block!important; font-size:13px!important; font-weight:600!important;
	color:#22282B!important; margin-bottom:6px!important;
}
body.kp-dist-page .kp-form-group input[type="text"],
body.kp-dist-page .kp-form-group input[type="email"],
body.kp-dist-page .kp-form-group input[type="password"] {
	all:unset!important; box-sizing:border-box!important; display:block!important; width:100%!important;
	padding:12px 16px!important; border:1.5px solid #E3E3E3!important; border-radius:10px!important;
	font-family:'Manrope',Arial,sans-serif!important; font-size:15px!important;
	color:#22282B!important; background:#FAFAFA!important; transition:border-color 0.2s, background 0.2s!important;
}
body.kp-dist-page .kp-form-group input:focus { border-color:#88756D!important; background:#fff!important; outline:none!important; box-shadow:0 0 0 3px rgba(136,117,109,0.12)!important; }

/* =========================================================
   Admin sections
   ========================================================= */
body.kp-dist-page .kp-admin-section {
	background:#fff; border-radius:14px; padding:28px; margin-bottom:20px;
	box-shadow:0 1px 8px rgba(34,40,43,0.06);
}
body.kp-dist-page .kp-admin-section-title {
	font-size:16px!important; font-weight:700!important; color:#22282B!important;
	margin:0 0 20px!important; display:flex!important; align-items:center!important;
	justify-content:space-between!important;
}

/* =========================================================
   Distributor list rows
   ========================================================= */
body.kp-dist-page .kp-list-header {
	display:grid!important; gap:16px!important; padding:0 0 10px!important;
	border-bottom:1.5px solid #E8EEEE!important; font-size:11px!important; font-weight:700!important;
	text-transform:uppercase!important; letter-spacing:0.7px!important; color:#667085!important;
}
body.kp-dist-page .kp-list-row {
	display:grid!important; gap:16px!important; align-items:center!important;
	padding:14px 0!important; border-bottom:1px solid #F1F1F1!important;
}
body.kp-dist-page .kp-list-row:last-child { border-bottom:none!important; }
body.kp-dist-page .kp-list-col-main { display:flex!important; align-items:center!important; gap:12px!important; min-width:0!important; }
body.kp-dist-page .kp-list-col-date { font-size:13px!important; color:#667085!important; }
body.kp-dist-page .kp-list-col-actions { display:flex!important; align-items:center!important; justify-content:flex-end!important; gap:8px!important; flex-wrap:wrap!important; }
body.kp-dist-page .kp-avatar { width:36px!important; height:36px!important; border-radius:50%!important; background:#E8EEEE!important; color:#22282B!important; display:flex!important; align-items:center!important; justify-content:center!important; font-size:14px!important; font-weight:700!important; flex-shrink:0!important; }
body.kp-dist-page .kp-row-name { font-size:14px!important; font-weight:600!important; color:#22282B!important; line-height:1.3!important; }
body.kp-dist-page .kp-row-email { font-size:13px!important; color:#667085!important; margin-top:2px!important; }
body.kp-dist-page .kp-list-empty { text-align:center!important; padding:40px 20px!important; color:#667085!important; font-size:14px!important; }
body.kp-dist-page .kp-add-form { display:grid!important; grid-template-columns:1fr 1fr 1fr auto!important; gap:12px!important; align-items:end!important; }
body.kp-dist-page .kp-add-form .kp-btn { margin-top:0!important; white-space:nowrap!important; padding:11px 20px!important; width:auto!important; display:inline-block!important; }

/* =========================================================
   Alerts / Toast
   ========================================================= */
body.kp-dist-page .kp-alert { padding:12px 16px; border-radius:10px; font-size:14px; margin-bottom:16px; display:none; }
body.kp-dist-page .kp-alert.kp-alert-error { background:#FFF0F0!important; color:#C0392B!important; border:1px solid #F5C6C6; display:block!important; }
body.kp-dist-page .kp-alert.kp-alert-success { background:#F0FFF4!important; color:#1E6B3A!important; border:1px solid #B2DFCB; display:block!important; }
body.kp-dist-page .kp-toast { position:fixed; bottom:28px; right:28px; padding:13px 20px; border-radius:12px; font-size:14px; font-weight:600; font-family:'Manrope',Arial,sans-serif; z-index:9999; box-shadow:0 4px 24px rgba(0,0,0,0.15); transform:translateY(16px); opacity:0; transition:all 0.25s ease; max-width:320px; }
body.kp-dist-page .kp-toast.show { transform:translateY(0); opacity:1; }
body.kp-dist-page .kp-toast.success { background:#22282B!important; color:#fff!important; }
body.kp-dist-page .kp-toast.error { background:#C0392B!important; color:#fff!important; }
body.kp-dist-page .kp-spinner { display:inline-block; width:14px; height:14px; border:2px solid rgba(255,255,255,0.3); border-top-color:#fff; border-radius:50%; animation:kp-spin 0.7s linear infinite; vertical-align:middle; margin-right:6px; }
@keyframes kp-spin { to { transform:rotate(360deg); } }

/* =========================================================
   Move Modal
   ========================================================= */
body.kp-dist-page .kp-modal-overlay {
	position:fixed!important; inset:0!important; background:rgba(34,40,43,0.5)!important;
	z-index:1000!important; align-items:center!important; justify-content:center!important;
	display:none!important;
}
body.kp-dist-page .kp-modal-overlay.kp-modal-open {
	display:flex!important;
}
body.kp-dist-page .kp-modal {
	background:#fff!important; border-radius:16px!important; width:90%!important; max-width:420px!important;
	overflow:hidden!important; box-shadow:0 20px 60px rgba(0,0,0,0.2)!important;
}
body.kp-dist-page .kp-modal-header {
	display:flex!important; align-items:center!important; justify-content:space-between!important;
	padding:20px 24px!important; font-weight:700!important; color:#22282B!important; font-size:16px!important;
	border-bottom:1px solid #E8EEEE!important;
}
body.kp-dist-page .kp-modal-close { font-size:20px!important; color:#667085!important; line-height:1!important; }
body.kp-dist-page .kp-modal-close:hover { color:#22282B!important; }
body.kp-dist-page .kp-modal-body { padding:16px!important; max-height:360px!important; overflow-y:auto!important; }
body.kp-dist-page .kp-move-folder-option {
	display:flex!important; align-items:center!important; gap:10px!important;
	padding:12px 14px!important; border-radius:10px!important; cursor:pointer!important;
	font-size:14px!important; color:#22282B!important; transition:background 0.15s!important;
}
body.kp-dist-page .kp-move-folder-option:hover { background:#F0EDE9!important; color:#88756D!important; }
body.kp-dist-page .kp-move-folder-option svg { color:#88756D!important; flex-shrink:0!important; }

/* =========================================================
   Login Page
   ========================================================= */
body.kp-dist-page .kp-login-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:40px 20px; background:#F1F1F1; }
body.kp-dist-page .kp-login-card { background:#fff; border-radius:20px; width:100%; max-width:420px; overflow:hidden; box-shadow:0 4px 40px rgba(34,40,43,0.10); }
body.kp-dist-page .kp-login-header { background:#22282B; padding:32px 40px 28px; text-align:center; }
body.kp-dist-page .kp-login-header img { max-width:160px; height:auto; display:inline-block; }
body.kp-dist-page .kp-login-body { padding:36px 40px 40px; }
body.kp-dist-page .kp-login-body h1 { font-size:22px!important; font-weight:700!important; color:#22282B!important; margin:0 0 8px!important; }
body.kp-dist-page .kp-subtitle { font-size:14px!important; color:#667085!important; margin:0 0 28px!important; line-height:1.5!important; }
body.kp-dist-page .kp-login-body form .kp-form-group { margin-bottom:20px!important; }
body.kp-dist-page .kp-login-body .kp-btn { margin-top:24px!important; }
body.kp-dist-page .kp-forgot-link { display:block!important; width:auto!important; text-align:right!important; font-size:13px!important; color:#88756D!important; margin-top:-8px!important; margin-bottom:18px!important; cursor:pointer!important; background:none!important; border:none!important; border-radius:0!important; padding:0!important; font-family:inherit!important; text-decoration:underline!important; text-underline-offset:2px!important; box-shadow:none!important; }
body.kp-dist-page .kp-forgot-link:hover { color:#22282B!important; background:none!important; }
body.kp-dist-page .kp-divider { height:1px; background:#E8EEEE; margin:20px 0; }

/* =========================================================
   Portal — Folder Browser (distributor view)
   ========================================================= */
body.kp-dist-page .kp-portal-browser-layout { display:flex; height:calc(100vh - 64px); }
body.kp-dist-page .kp-portal-sidebar { border-right:1px solid #E8EEEE; }
body.kp-dist-page .kp-portal-sidebar .kp-folder-label[data-href] { cursor:pointer!important; }
body.kp-dist-page .kp-browser-main-portal { flex:1; overflow-y:auto; padding:36px; background:#F4F5F6; }

/* Folder card grid (portal) */
body.kp-dist-page .kp-folder-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:14px; margin-bottom:8px; }
body.kp-dist-page .kp-folder-card {
	background:#fff; border-radius:14px; padding:20px 16px; text-align:center; text-decoration:none!important;
	display:flex; flex-direction:column; align-items:center; gap:10px; transition:box-shadow 0.18s, transform 0.15s;
	border:1.5px solid transparent;
}
body.kp-dist-page .kp-folder-card:hover { box-shadow:0 4px 16px rgba(34,40,43,0.1); transform:translateY(-2px); border-color:#E8EEEE; }
body.kp-dist-page .kp-folder-card-icon { width:48px; height:48px; background:#E8EEEE; border-radius:10px; display:flex; align-items:center; justify-content:center; }
body.kp-dist-page .kp-folder-card-icon svg { width:26px; height:26px; color:#22282B; }
body.kp-dist-page .kp-folder-card-name { font-size:13px!important; font-weight:700!important; color:#22282B!important; line-height:1.3!important; }
body.kp-dist-page .kp-folder-card-count { font-size:12px!important; color:#999!important; }

/* File grid (portal) */
body.kp-dist-page .kp-files-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:16px; }
body.kp-dist-page .kp-file-card { background:#fff; border-radius:14px; padding:20px; display:flex; flex-direction:column; gap:10px; box-shadow:0 1px 8px rgba(34,40,43,0.06); transition:box-shadow 0.18s, transform 0.15s; }
body.kp-dist-page .kp-file-card:hover { box-shadow:0 4px 20px rgba(34,40,43,0.10); transform:translateY(-2px); }
body.kp-dist-page .kp-file-icon { width:44px!important; height:44px!important; border-radius:10px!important; display:flex!important; align-items:center!important; justify-content:center!important; font-size:11px!important; font-weight:800!important; letter-spacing:0.5px!important; flex-shrink:0!important; }
body.kp-dist-page .kp-icon-pdf  { background:#FFF0F0!important; color:#E74C3C!important; }
body.kp-dist-page .kp-icon-doc  { background:#EEF4FF!important; color:#2563EB!important; }
body.kp-dist-page .kp-icon-sheet { background:#F0FFF4!important; color:#16A34A!important; }
body.kp-dist-page .kp-icon-image { background:#FFF8F0!important; color:#EA580C!important; }
body.kp-dist-page .kp-icon-zip  { background:#F9F5FF!important; color:#7C3AED!important; }
body.kp-dist-page .kp-icon-file { background:#F1F1F1!important; color:#667085!important; }
body.kp-dist-page .kp-file-title { font-size:15px!important; font-weight:700!important; color:#22282B!important; margin:0!important; line-height:1.3!important; }
body.kp-dist-page .kp-file-desc { font-size:13px!important; color:#667085!important; margin:0!important; line-height:1.5!important; flex:1!important; }
body.kp-dist-page .kp-download-btn {
	display:flex!important; align-items:center!important; justify-content:center!important;
	gap:7px!important; padding:10px 18px!important; background:#22282B!important;
	color:#fff!important; font-family:'Manrope',Arial,sans-serif!important; font-size:13px!important;
	font-weight:600!important; border-radius:100px!important; text-decoration:none!important;
	transition:background 0.2s!important; margin-top:auto!important;
}
body.kp-dist-page .kp-download-btn:hover { background:#88756D!important; color:#fff!important; }
body.kp-dist-page .kp-download-btn svg { width:14px; height:14px; flex-shrink:0; }
body.kp-dist-page .kp-empty-state { text-align:center; padding:80px 20px; color:#667085; }
body.kp-dist-page .kp-empty-state h2 { font-size:18px!important; color:#22282B!important; margin-bottom:8px!important; }
body.kp-dist-page .kp-portal-intro h1 { font-size:26px!important; font-weight:700!important; color:#22282B!important; margin:0 0 6px!important; }
body.kp-dist-page .kp-portal-intro p { font-size:15px!important; color:#667085!important; margin:0!important; }
body.kp-dist-page .kp-breadcrumb a { color:#667085; text-decoration:none; font-size:13px; font-weight:600; }
body.kp-dist-page .kp-breadcrumb a:hover { color:#22282B; }
body.kp-dist-page .kp-breadcrumb .kp-crumb-current { font-size:13px; font-weight:700; color:#22282B; }
body.kp-dist-page .kp-breadcrumb .kp-crumb-sep { color:#D9D9D9; margin:0 4px; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:768px) {
	body.kp-dist-page .kp-sidebar { display:none; }
	body.kp-dist-page .kp-portal-header { padding:0 16px; }
	body.kp-dist-page .kp-user-name { display:none; }
	body.kp-dist-page .kp-browser-content { padding:16px; }
	body.kp-dist-page #kp-browser-items { grid-template-columns:repeat(auto-fill, minmax(120px,1fr)); gap:10px; }
	body.kp-dist-page .kp-file-upload-grid { grid-template-columns:1fr; }
	body.kp-dist-page .kp-add-form { grid-template-columns:1fr; }
	body.kp-dist-page .kp-browser-main-portal { padding:20px 16px; }
	body.kp-dist-page .kp-folder-grid { grid-template-columns:repeat(auto-fill, minmax(130px,1fr)); }
}
