/* CrewHub Stage 1.1 — single responsive stylesheet */
:root{--blue:#08168e;--blue-dark:#06105c;--lime:#cbd500;--bg:#f3f5f9;--ink:#18243a;--muted:#667085;--line:#dbe1eb;--white:#fff}
*,*::before,*::after{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{line-height:1.2}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}
.panel{width:min(100% - 32px,470px);margin:clamp(20px,7vh,76px) auto;padding:clamp(20px,5vw,36px);background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 36px rgba(10,26,62,.08)}
.panel.wide{width:min(100% - 32px,1080px);margin:24px auto;padding:clamp(18px,3vw,34px)}
.yls-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;margin:0 auto 28px}
.yls-brand img{display:block;width:min(100%,210px);height:auto;max-height:80px;object-fit:contain;object-position:center;margin:0 auto 12px}
.yls-brand h1{font-size:clamp(27px,6vw,33px);letter-spacing:-.7px;color:var(--blue);margin:0}
.yls-brand p{font-size:13px;color:var(--muted);margin:3px 0 0}
.form-heading{text-align:left;margin:0 0 24px}.form-heading h2{font-size:20px;margin:0 0 4px}.form-heading p{color:var(--muted);font-size:14px;margin:0}
form{min-width:0;max-width:100%}
label{display:block;margin:16px 0 7px;font-size:14px;font-weight:650;color:#273449}
input:not([type="hidden"]),select,textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:46px;padding:11px 13px;border:1px solid #bac5d6;border-radius:9px;background:#fff;color:var(--ink);font-size:16px;line-height:1.4;outline:0;transition:border-color .15s,box-shadow .15s}
input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px rgba(203,213,0,.28)}
input::placeholder{color:#8a96a8}
button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;background:var(--blue);border:1px solid var(--blue);border-radius:9px;color:#fff;font-size:14px;font-weight:700;cursor:pointer}
button:hover{background:var(--blue-dark)}button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.login-form .primary-btn{display:flex;width:100%;margin-top:25px}
.footer-note{text-align:center;font-size:12px;color:var(--muted);margin:24px 0 0}
.error,.ok,.notice{border-radius:9px;padding:13px 15px;margin:14px 0;font-size:14px}
.error{background:#fff0f0;color:#9f1d1d;border:1px solid #ffc9c9}.ok{background:#e8f7ed;color:#176b37;border:1px solid #b7e3c5}
.notice{background:#f7f9fc;border:1px solid var(--line);color:#4d5b6e}
.top{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.yls-brand-dashboard{display:flex;align-items:center;gap:15px;flex:1 1 auto;min-width:0}
.yls-brand-dashboard img{width:100px;max-width:100px;height:auto;max-height:50px;object-fit:contain;flex:0 1 100px}
.yls-brand-dashboard>div{min-width:0}.yls-brand-dashboard h1{margin:0;color:var(--blue);font-size:clamp(22px,3vw,29px)}.yls-brand-dashboard p{margin:2px 0 0;font-size:12px;color:var(--muted)}
.logout-form{width:auto;flex:0 0 auto}.outline-btn{background:white;color:var(--blue);border-color:var(--blue)}.outline-btn:hover{background:#f2f4ff;color:var(--blue)}
.welcome{padding:22px 0 8px}.eyebrow{color:var(--blue);font-weight:750;letter-spacing:1.3px;font-size:11px;margin:0 0 7px}.welcome h2{font-size:26px;margin:0 0 10px}.welcome p{margin:0;color:var(--muted)}
.role{display:inline-block;margin-left:6px;padding:2px 9px;background:#eff1ff;color:var(--blue);border-radius:20px;font-size:12px;text-transform:capitalize}
.section-title{font-size:18px;margin:22px 0 14px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:14px}
.metric-card,.cards section{background:#f9faff;border:1px solid var(--line);border-top:3px solid var(--lime);border-radius:10px;padding:20px;min-width:0}
.metric-card span,.cards section strong{display:block;color:var(--muted);font-size:13px;font-weight:650}
.metric-card strong,.cards section p{display:block;color:var(--blue);font-size:29px;font-weight:800;margin:8px 0 0}
.admin-link{margin:22px 0 0;font-weight:700}
.admin-header{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}
.admin-header img{width:120px;flex:0 0 120px}.admin-header h1{margin:4px 0;color:var(--blue)}.admin-header p{margin:0}.muted{color:var(--muted);font-size:13px}
.scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:9px}
table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 14px}th{background:#f4f6fa;color:var(--blue-dark)}
@media(max-width:600px){.panel{width:calc(100% - 24px);margin:16px auto;padding:22px 18px}.panel.wide{width:calc(100% - 24px);padding:20px 16px}.top{flex-wrap:wrap;gap:14px}.yls-brand-dashboard{flex:1 1 100%}.logout-form{flex:0 0 auto}.yls-brand-dashboard img{width:84px;max-width:84px;flex-basis:84px}.yls-brand-dashboard h1{font-size:23px}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}.admin-header{gap:10px}.admin-header img{width:75px;flex-basis:75px}.admin-header h1{font-size:23px}}
@media(max-width:360px){.yls-brand-dashboard img{width:65px;max-width:65px;flex-basis:65px}.yls-brand-dashboard h1{font-size:21px}.cards{grid-template-columns:1fr}}

/* Stage 2.1 candidate module */
.module-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.module-header h1{margin:8px 0;color:var(--blue)}.module-header p{margin:0;color:var(--muted)}.action-link{display:inline-block;background:var(--blue);color:white;border-radius:9px;padding:10px 16px;font-weight:700}.action-link:hover{color:white;background:var(--blue-dark);text-decoration:none}.field-grid,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.candidate-form textarea{width:100%;max-width:100%;border:1px solid #bac5d6;border-radius:9px;padding:12px;font-size:16px;min-height:90px}.candidate-form>button{margin-top:18px}.checkline{display:flex;gap:10px;align-items:flex-start}.checkline input[type=checkbox]{width:18px;min-height:18px;height:18px;flex:0 0 18px;margin:3px 0}.searchbar{margin:20px 0}.searchbar>div{display:flex;gap:10px}.searchbar input{margin:0}.searchbar button{flex:0 0 auto}.pagination{display:flex;gap:20px;margin:18px 0}.detail-grid section{min-width:0}.detail-grid h2{font-size:18px}.detail-grid dl{display:grid;grid-template-columns:minmax(100px,140px) minmax(0,1fr);gap:10px}.detail-grid dt{font-weight:700;color:var(--muted)}.detail-grid dd{margin:0;overflow-wrap:anywhere}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tags span{padding:5px 10px;background:#eff1ff;border-radius:20px;color:var(--blue)}@media(max-width:620px){.field-grid,.detail-grid{grid-template-columns:1fr}.searchbar>div{flex-direction:column}.searchbar button{width:100%}.detail-grid dl{grid-template-columns:minmax(80px,110px) minmax(0,1fr)}}

/* Stage 2.2 */
.profile-actions,.form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.edit-link{display:inline-flex;background:var(--blue);color:#fff;border-radius:8px;padding:9px 14px;font-weight:700}.edit-link:hover{background:var(--blue-dark);color:#fff;text-decoration:none}.form-actions{margin-top:20px}
@media(max-width:600px){.profile-actions{justify-content:flex-start}.module-header{flex-wrap:wrap}}
