/* RIEKA TECH LABS — Client Portal Styles */
body{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;}

/* LOGIN */
#clientLogin{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(79,142,247,0.08) 0%,transparent 60%);padding:24px;}
.cl-card{background:var(--bg2);border:1px solid var(--bdr);border-radius:16px;padding:2rem;width:100%;max-width:380px;}
.cl-card h2{font-family:'Space Grotesk',sans-serif;font-weight:800;text-align:center;margin-bottom:6px;}
.cl-card p{color:var(--sub);font-size:0.82rem;text-align:center;margin-bottom:1.5rem;}
.cl-input{width:100%;background:rgba(255,255,255,0.04);border:1px solid var(--bdr);border-radius:8px;padding:10px 14px;color:var(--text);font-size:0.85rem;font-family:var(--font);box-sizing:border-box;transition:border 0.18s;}
.cl-input:focus{outline:none;border-color:var(--a1);}
.cl-btn{width:100%;background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;border:none;padding:11px;border-radius:8px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.88rem;cursor:pointer;transition:opacity 0.2s;}
.cl-btn:hover{opacity:0.88;}
.cl-err{color:#ef4444;font-size:0.76rem;text-align:center;margin-top:8px;display:none;}

/* PORTAL LAYOUT */
#clientPortal{display:none;flex-direction:column;min-height:100vh;}

/* HEADER */
.cp-header{background:var(--bg2);border-bottom:1px solid var(--bdr);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;backdrop-filter:blur(20px);}
.cp-header-l{display:flex;align-items:center;gap:12px;}
.cp-brand{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:0.9rem;}
.cp-welcome{font-size:0.72rem;color:var(--sub);}
.cp-signout{background:rgba(255,255,255,0.05);border:1px solid var(--bdr);color:var(--sub);padding:6px 14px;border-radius:7px;font-size:0.75rem;cursor:pointer;font-family:'Space Grotesk',sans-serif;font-weight:600;transition:all 0.2s;}
.cp-signout:hover{color:var(--text);border-color:var(--bdr2);}

/* TABS */
.cp-tabs{display:flex;gap:4px;padding:16px 24px 0;border-bottom:1px solid var(--bdr);overflow-x:auto;}
.cp-tab{background:none;border:none;border-bottom:2px solid transparent;padding:10px 18px;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:0.82rem;color:var(--sub);cursor:pointer;white-space:nowrap;transition:all 0.18s;margin-bottom:-1px;}
.cp-tab:hover{color:var(--text);}
.cp-tab.active{color:var(--a1);border-bottom-color:var(--a1);}

/* CONTENT */
.cp-content{flex:1;padding:24px;max-width:900px;width:100%;margin:0 auto;box-sizing:border-box;}
.cp-sec{}
.cp-loading{color:var(--sub);font-size:0.85rem;padding:2rem;text-align:center;}
.cp-empty{color:var(--sub);font-size:0.88rem;padding:3rem;text-align:center;background:var(--bg2);border:1px solid var(--bdr);border-radius:12px;}
.cp-empty a{color:var(--a1);}

/* CARDS */
.cp-card{background:var(--bg2);border:1px solid var(--bdr);border-radius:14px;padding:20px;margin-bottom:16px;}
.cp-card-title{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:1rem;margin-bottom:16px;}
.cp-label{display:block;font-size:0.68rem;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:6px;font-family:'Space Grotesk',sans-serif;}
.cp-badge{background:rgba(79,142,247,0.1);border:1px solid rgba(79,142,247,0.2);color:var(--a1);font-size:0.62rem;font-weight:700;padding:2px 8px;border-radius:100px;font-family:'Space Grotesk',sans-serif;text-transform:uppercase;}
.cp-status{font-size:0.62rem;font-weight:700;padding:2px 8px;border-radius:100px;font-family:'Space Grotesk',sans-serif;text-transform:uppercase;}
.cp-status-active{background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.2);color:var(--a4);}
.cp-status-completed{background:rgba(79,142,247,0.1);border:1px solid rgba(79,142,247,0.2);color:var(--a1);}
.cp-status-on-hold{background:rgba(245,158,11,0.1);border:1px solid rgba(245,158,11,0.2);color:#f59e0b;}
.cp-status-pending{background:rgba(245,158,11,0.1);border:1px solid rgba(245,158,11,0.2);color:#f59e0b;}
.cp-status-confirmed{background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.2);color:var(--a4);}

/* PROJECT CARD */
.project-card{border-left:3px solid var(--a1);}
.project-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;}
.project-title{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:1rem;margin-bottom:6px;}
.project-meta{display:flex;gap:6px;align-items:center;}
.project-progress-num{font-family:'Space Grotesk',sans-serif;font-size:1.8rem;font-weight:800;color:var(--a1);line-height:1;}

/* PROGRESS */
.progress-wrap{margin-bottom:8px;}
.progress-bar{background:rgba(255,255,255,0.06);border-radius:6px;height:8px;overflow:hidden;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--a1),var(--a2));border-radius:6px;transition:width 0.8s ease;}
.progress-label{font-size:0.75rem;color:var(--sub);margin-bottom:14px;}

/* PHASES */
.phases-row{display:flex;gap:0;margin-bottom:16px;overflow-x:auto;padding-bottom:4px;}
.phase-item{display:flex;flex-direction:column;align-items:center;flex:1;min-width:70px;position:relative;}
.phase-item:not(:last-child)::after{content:'';position:absolute;top:7px;left:50%;width:100%;height:2px;background:rgba(255,255,255,0.08);z-index:0;}
.phase-item.done:not(:last-child)::after{background:var(--a1);}
.phase-dot{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,0.15);background:var(--bg3);margin-bottom:6px;position:relative;z-index:1;flex-shrink:0;}
.phase-item.done .phase-dot{background:var(--a1);border-color:var(--a1);}
.phase-item.current .phase-dot{background:var(--a2);border-color:var(--a2);box-shadow:0 0 8px rgba(168,85,247,0.5);}
.phase-name{font-size:0.62rem;color:var(--dim);text-align:center;line-height:1.3;}
.phase-item.done .phase-name{color:var(--a1);}
.phase-item.current .phase-name{color:var(--text);font-weight:700;}
.project-desc{color:var(--sub);font-size:0.83rem;line-height:1.7;margin:12px 0;}

/* LOGS */
.logs-section{margin-top:16px;border-top:1px solid var(--bdr);padding-top:14px;}
.log-item{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:8px;margin-bottom:6px;background:rgba(255,255,255,0.02);border:1px solid var(--bdr);}
.log-item.log-milestone{border-color:rgba(245,158,11,0.2);background:rgba(245,158,11,0.04);}
.log-item.log-delivered{border-color:rgba(16,185,129,0.2);background:rgba(16,185,129,0.04);}
.log-item.log-issue{border-color:rgba(239,68,68,0.2);background:rgba(239,68,68,0.04);}
.log-icon{font-size:1rem;flex-shrink:0;margin-top:1px;}
.log-msg{font-size:0.82rem;line-height:1.5;}
.log-time{font-size:0.68rem;color:var(--dim);margin-top:3px;}

/* STARS */
.star-row{display:flex;gap:6px;margin-bottom:4px;}
.star{font-size:1.8rem;cursor:pointer;color:rgba(255,255,255,0.15);transition:color 0.15s;line-height:1;}
.star.active{color:#f59e0b;}

/* CONSULTANCY */
.cp-resched-btn{background:rgba(79,142,247,0.1);border:1px solid rgba(79,142,247,0.2);color:var(--a1);padding:7px 14px;border-radius:8px;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:0.78rem;cursor:pointer;white-space:nowrap;}
.cp-resched-btn:hover{background:rgba(79,142,247,0.18);}

/* INFO */
.cp-info-row{display:flex;gap:12px;align-items:flex-start;padding:12px;background:rgba(255,255,255,0.02);border:1px solid var(--bdr);border-radius:8px;}
.cp-info-icon{font-size:1.2rem;flex-shrink:0;}
.cp-info-label{font-size:0.68rem;font-weight:700;color:var(--dim);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:2px;}
.cp-info-val{font-size:0.85rem;}

/* MODAL */
.cp-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.75);backdrop-filter:blur(6px);z-index:1000;align-items:center;justify-content:center;padding:20px;}
.cp-modal-overlay.open{display:flex;}
.cp-modal{background:var(--bg2);border:1px solid var(--bdr2);border-radius:16px;max-width:460px;width:100%;}
.cp-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--bdr);}
.cp-modal-head h3{font-family:'Space Grotesk',sans-serif;font-weight:800;}
.cp-modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:12px;}

/* TOAST */
.toast{position:fixed;bottom:24px;right:24px;background:var(--bg3);border:1px solid var(--bdr2);border-radius:10px;padding:10px 18px;font-size:0.82rem;font-weight:600;opacity:0;transform:translateY(10px);transition:all 0.25s;pointer-events:none;z-index:9999;}
.toast.show{opacity:1;transform:translateY(0);}

@media(max-width:600px){
  .cp-content{padding:16px;}
  .phases-row{gap:0;}
  .phase-name{font-size:0.55rem;}
}
