/* Jobifilla brand stylesheet. Mobile first. Colors: deep purple #340C55, royal purple #502076, gold #D6B168, deep gold #B78A52. */
:root{--purple:#340C55;--purple2:#502076;--purple3:#6B3A99;--gold:#D6B168;--gold2:#B78A52;--bg:#FFFFFF;--bg2:#FAF8FC;--bg3:#F2EEF7;--ink:#1F1A2A;--muted:#6A6478;--line:#E6E0EE;--ok:#1F7A4D;--okbg:#E7F5EC;--warn:#9A6B00;--warnbg:#FFF6DC;--err:#B4232C;--errbg:#FCE9EA;--info:#2B5FA6;--infobg:#E9F0FA;--radius:14px;--shadow:0 6px 24px rgba(52,12,85,.08);--font:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.55;font-size:16px}
img{max-width:100%;height:auto}a{color:var(--purple2);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3,h4{color:var(--purple);line-height:1.2;margin:0 0 .5em;font-weight:700}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}h4{font-size:1rem}
p{margin:0 0 1em}.muted{color:var(--muted)}.small{font-size:.875rem}.tiny{font-size:.78rem}.gold{color:var(--gold2)}.center{text-align:center}.right{text-align:right}.mt0{margin-top:0}.mb0{margin-bottom:0}.mt1{margin-top:.5rem}.mt2{margin-top:1rem}.mt3{margin-top:1.5rem}.mb2{margin-bottom:1rem}.mb3{margin-bottom:1.5rem}.hidden{display:none!important}.nowrap{white-space:nowrap}.upper{text-transform:uppercase;letter-spacing:.06em}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}.narrow{max-width:760px}
/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}.site-header .bar{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.logo img{height:38px;display:block}.nav{display:none;gap:4px;align-items:center}.nav a{padding:8px 12px;border-radius:8px;color:var(--ink);font-weight:500}.nav a:hover,.nav a.active{background:var(--bg3);color:var(--purple);text-decoration:none}
.nav-toggle{background:none;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:1.2rem;color:var(--purple)}
.mobile-nav{display:none;flex-direction:column;padding:8px 0 16px;border-top:1px solid var(--line)}.mobile-nav a{padding:10px 8px;border-bottom:1px solid var(--bg3);color:var(--ink)}.mobile-nav.open{display:flex}
@media(min-width:960px){.nav{display:flex}.nav-toggle{display:none}.mobile-nav{display:none!important}}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:10px;font-weight:600;border:2px solid transparent;cursor:pointer;font-size:.95rem;line-height:1.2;transition:.15s;text-decoration:none!important;font-family:inherit}
.btn-primary{background:var(--purple);color:#fff}.btn-primary:hover{background:var(--purple2)}.btn-gold{background:var(--gold);color:var(--purple)}.btn-gold:hover{background:var(--gold2);color:#fff}
.btn-outline{border-color:var(--purple);color:var(--purple);background:#fff}.btn-outline:hover{background:var(--bg3)}.btn-ghost{color:var(--purple2);background:transparent}.btn-ghost:hover{background:var(--bg3)}
.btn-danger{background:var(--err);color:#fff}.btn-sm{padding:6px 12px;font-size:.85rem;border-radius:8px}.btn-lg{padding:14px 26px;font-size:1.05rem}.btn-block{width:100%}.btn[disabled]{opacity:.5;cursor:not-allowed}
/* Cards & layout */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card.flat{box-shadow:none}.card + .card{margin-top:16px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.card-title h2,.card-title h3{margin:0}
.grid{display:grid;gap:16px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}@media(min-width:720px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.stack>*+*{margin-top:12px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}
.section{padding:48px 0}.section-alt{background:var(--bg2)}.section h2{margin-bottom:8px}.section .lead{font-size:1.1rem;color:var(--muted);max-width:720px}
/* Hero */
.hero{background:linear-gradient(135deg,var(--purple) 0%,var(--purple2) 60%,#5D2C8A 100%);color:#fff;padding:56px 0 64px;position:relative;overflow:hidden}.hero h1{color:#fff;font-size:2.2rem;max-width:760px}.hero p{font-size:1.15rem;opacity:.92;max-width:640px}.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.hero .badge-row{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px}.hero .badge-row span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:6px 12px;border-radius:999px;font-size:.85rem}
@media(min-width:768px){.hero h1{font-size:3rem}}
.hero-search{background:#fff;border-radius:14px;padding:12px;margin-top:28px;display:grid;gap:8px;grid-template-columns:1fr}.hero-search input,.hero-search select{border:1px solid var(--line)}@media(min-width:768px){.hero-search{grid-template-columns:2fr 1.4fr 1fr auto}}
/* Forms */
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px;color:var(--purple)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=datetime-local],input[type=url],input[type=tel],input[type=search],input[type=file],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold);outline-offset:0}textarea{min-height:110px;resize:vertical}.field{margin-bottom:14px}.field .help{font-size:.8rem;color:var(--muted);margin-top:4px}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.check input{width:auto;margin-top:4px}
.form-grid{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:720px){.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid .span2{grid-column:span 2}}
.inline-form{display:inline}
/* Alerts, badges */
.alert{padding:12px 16px;border-radius:10px;margin-bottom:16px;border:1px solid transparent}.alert-success{background:var(--okbg);color:var(--ok);border-color:#BFE3CB}.alert-error{background:var(--errbg);color:var(--err);border-color:#F1BFC3}.alert-warn{background:var(--warnbg);color:var(--warn);border-color:#F0DFA6}.alert-info{background:var(--infobg);color:var(--info);border-color:#BFD2EE}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--bg3);color:var(--purple2);white-space:nowrap}.badge-success{background:var(--okbg);color:var(--ok)}.badge-warning{background:var(--warnbg);color:var(--warn)}.badge-danger{background:var(--errbg);color:var(--err)}.badge-info{background:var(--infobg);color:var(--info)}.badge-gold{background:#F7EFD9;color:var(--gold2)}.badge-purple{background:var(--purple);color:#fff}
/* Tables */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:var(--bg2);color:var(--purple);font-weight:600;white-space:nowrap}.table tr:hover td{background:#FCFAFE}.table .num{text-align:right}
/* Job cards */
.job-card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:.15s;height:100%}.job-card:hover{box-shadow:var(--shadow);border-color:var(--gold)}.job-card h3{margin:0;font-size:1.05rem}.job-card .meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.85rem;color:var(--muted)}.job-card .desc{font-size:.9rem;color:var(--ink);flex:1}.job-card .foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
.jobs-layout{display:grid;gap:20px;grid-template-columns:1fr}@media(min-width:960px){.jobs-layout{grid-template-columns:280px 1fr}}.filters{position:sticky;top:80px}
.locked{position:relative}.locked-overlay{background:linear-gradient(180deg,rgba(255,255,255,0),#fff 60%);padding:40px 0 0;text-align:center}.locked-box{background:var(--bg2);border:1px dashed var(--purple3);border-radius:var(--radius);padding:24px}
/* Pricing */
.plan{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;display:flex;flex-direction:column;height:100%;position:relative}.plan.featured{border-color:var(--gold);box-shadow:0 10px 30px rgba(52,12,85,.12)}.plan .price{font-size:2rem;font-weight:700;color:var(--purple)}.plan .price small{font-size:.9rem;color:var(--muted);font-weight:400}.plan .was{color:var(--muted);text-decoration:line-through;font-size:.95rem}.plan ul{padding-left:18px;margin:12px 0 18px;flex:1}.plan li{margin:6px 0;font-size:.92rem}.plan .ribbon{position:absolute;top:-12px;right:16px;background:var(--gold);color:var(--purple);font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.tabs a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);color:var(--ink);font-weight:500}.tabs a.active{background:var(--purple);color:#fff;border-color:var(--purple)}
/* Stats */
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px}.stat .n{font-size:1.7rem;font-weight:700;color:var(--purple)}.stat .l{font-size:.82rem;color:var(--muted)}
.progress{background:var(--bg3);border-radius:999px;height:10px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--purple2),var(--gold))}
.steps{counter-reset:s;display:grid;gap:16px}.steps>div{position:relative;padding-left:52px}.steps>div::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:var(--purple);color:var(--gold);font-weight:700;display:flex;align-items:center;justify-content:center}
.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:8px 0 8px 22px;border-left:2px solid var(--line);position:relative;margin-left:8px}.timeline li::before{content:"";position:absolute;left:-7px;top:14px;width:12px;height:12px;border-radius:50%;background:var(--gold)}
/* Portal shell */
.portal{display:grid;min-height:100vh;grid-template-columns:1fr}.sidebar{background:var(--purple);color:#fff;padding:16px;display:none}.sidebar a{display:block;color:#EADFF5;padding:9px 12px;border-radius:8px;font-size:.93rem}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.12);color:#fff;text-decoration:none}.sidebar .group{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin:16px 12px 6px}.sidebar .logo{margin-bottom:12px}.sidebar .logo img{filter:brightness(0) invert(1);height:34px}
.portal-main{background:var(--bg2);min-height:100vh}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.topbar .who{font-size:.9rem;color:var(--muted)}.content{padding:20px 16px 48px}
.portal-nav-toggle{display:inline-flex}.sidebar.open{display:block;position:fixed;inset:0;z-index:60;overflow:auto;width:280px}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:55}.sidebar-backdrop.open{display:block}
@media(min-width:1024px){.portal{grid-template-columns:260px 1fr}.sidebar{display:block;position:sticky;top:0;height:100vh;overflow:auto}.portal-nav-toggle{display:none}.content{padding:28px 32px 64px}}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:20px}.page-head h1{font-size:1.5rem;margin:0}.breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:6px}
.notif-dot{display:inline-block;min-width:18px;padding:0 5px;height:18px;line-height:18px;border-radius:9px;background:var(--gold);color:var(--purple);font-size:.7rem;font-weight:700;text-align:center}
.kv{display:grid;grid-template-columns:1fr;gap:6px 16px;font-size:.92rem}.kv dt{color:var(--muted);font-weight:500}.kv dd{margin:0}@media(min-width:600px){.kv{grid-template-columns:180px 1fr}}
.list-plain{list-style:none;padding:0;margin:0}.list-plain li{padding:8px 0;border-bottom:1px solid var(--bg3)}
details summary{cursor:pointer;font-weight:600;color:var(--purple2)}
.footer{background:var(--purple);color:#D9CDE8;padding:40px 0 24px;margin-top:48px}.footer a{color:#fff}.footer h4{color:var(--gold);font-size:.9rem;text-transform:uppercase;letter-spacing:.06em}.footer .cols{display:grid;gap:24px;grid-template-columns:1fr}@media(min-width:720px){.footer .cols{grid-template-columns:2fr 1fr 1fr 1fr}}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:6px 0;font-size:.9rem}.footer .legal{border-top:1px solid rgba(255,255,255,.15);margin-top:24px;padding-top:16px;font-size:.8rem;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
.chip{display:inline-block;background:var(--bg3);border-radius:8px;padding:4px 10px;font-size:.82rem;margin:2px 4px 2px 0}
.score{font-weight:700;color:var(--purple)}.score-bar{background:var(--bg3);border-radius:6px;height:8px;overflow:hidden;min-width:80px}.score-bar span{display:block;height:100%;background:var(--purple2)}
.status-PASS{color:var(--ok)}.status-PARTIAL{color:var(--warn)}.status-NOT_FOUND{color:var(--err)}.status-CONFLICTING_INFORMATION{color:var(--err)}.status-NEEDS_HUMAN_REVIEW{color:var(--info)}
.kanban{display:grid;gap:12px;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);overflow-x:auto;padding-bottom:8px}.kanban .col{background:var(--bg3);border-radius:12px;padding:10px}.kanban .col h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.kanban .item{background:#fff;border-radius:8px;padding:8px 10px;margin-bottom:8px;font-size:.85rem;border:1px solid var(--line)}
.video-wrap{background:#111;border-radius:12px;overflow:hidden;aspect-ratio:16/9;position:relative}.video-wrap video{width:100%;height:100%;object-fit:cover}.rec-dot{position:absolute;top:10px;left:10px;background:var(--err);color:#fff;font-size:.75rem;padding:3px 10px;border-radius:999px;display:none}.rec-dot.on{display:block}
.timer{font-size:1.6rem;font-weight:700;color:var(--purple)}
.print-only{display:none}@media print{.no-print,.site-header,.footer,.sidebar,.topbar{display:none!important}.print-only{display:block}body{background:#fff}.card{box-shadow:none;border:none;padding:0}}
.cookie-bar{position:fixed;bottom:0;left:0;right:0;background:var(--purple);color:#fff;padding:12px 16px;z-index:70;display:none;font-size:.9rem}.cookie-bar.show{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.empty{padding:32px;text-align:center;color:var(--muted);background:var(--bg2);border-radius:var(--radius);border:1px dashed var(--line)}
.pagination{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.pagination a,.pagination span{padding:6px 12px;border:1px solid var(--line);border-radius:8px;font-size:.9rem}.pagination .current{background:var(--purple);color:#fff;border-color:var(--purple)}
.two-col{display:grid;gap:20px;grid-template-columns:1fr}@media(min-width:960px){.two-col{grid-template-columns:2fr 1fr}}
.faq details{border-bottom:1px solid var(--line);padding:10px 0}.faq p{margin:8px 0 0;color:var(--muted)}
.icon-tile{width:44px;height:44px;border-radius:12px;background:var(--bg3);color:var(--purple);display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:10px}
code,pre{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}pre{background:var(--bg3);padding:12px;border-radius:8px;overflow:auto}
