@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Playfair+Display:wght@500;600;700;800&display=swap');
:root{--ink:#141210;--muted:#746c63;--line:#e8e0d4;--blue:#d51d36;--navy:#141210;--bg:#faf7f2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #fa2742;outline-offset:3px}button{border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}input,select,textarea{border:1px solid #ded6ca;border-radius:7px;padding:12px 13px;color:var(--ink);background:white;min-width:0;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #fa274214}textarea{resize:vertical;min-height:90px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;margin:0;font-weight:750;letter-spacing:-.04em}h1{font-size:34px;line-height:1.25}h2{font-size:25px}h3{font-size:18px;letter-spacing:-.025em}p{line-height:1.65}small{font-size:12px}.shell{display:flex;min-height:100vh}aside{background:var(--navy);width:238px;position:fixed;height:100dvh;padding:33px 20px;display:flex;flex-direction:column;color:#c8c1b8}.brand{display:flex;gap:14px;align-items:center;color:white;padding:0 6px}.brandmark{font-weight:800;font-size:35px;letter-spacing:-3px;line-height:1}.brandmark span{color:#fa2742;letter-spacing:-1px}.brand>span:last-child{font-size:15px;letter-spacing:2px;font-weight:700}.brand small{display:block;font-size:7px;letter-spacing:1.1px;margin-top:6px;color:#b2a79b}.navlabel{font-size:10px;letter-spacing:1.7px;font-weight:650;color:#a69a8e;margin:57px 15px 18px}nav{display:grid;gap:8px}nav button{display:flex;align-items:center;gap:12px;text-align:left;padding:14px;border-radius:7px;font-size:13px}nav button.active{background:#fa27421c;color:white}nav button:hover{background:#2a2723}nav small{margin-left:auto;background:#ffffff12;padding:2px 7px;border-radius:4px}.asidebottom{margin-top:auto;padding:20px 13px 0;font-size:11px}.private-dot{display:inline-block;width:6px;height:6px;background:#63b8a0;border-radius:50%;margin-right:7px}.asidebottom p{color:#a99c8f;font-size:11px;margin-top:17px}.export{display:flex;gap:8px;align-items:center;font-size:11px;padding:10px 0;color:#c8c1b8}.main{margin-left:238px;width:calc(100% - 238px)}header{height:77px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 44px;background:#fff}.breadcrumbs{display:flex;align-items:center;gap:12px;color:#92877b;font-size:11px;min-width:0;flex-wrap:wrap}.breadcrumbs button{padding:0;color:#5c5751}.toplabel{letter-spacing:1.3px;font-size:10px;white-space:nowrap;color:#746c63}main{max-width:1500px;margin:auto;padding:45px 44px 0}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.9px;color:#c71d34;margin-bottom:12px}.heading p{color:var(--muted);font-size:12px;margin:12px 0 0}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;border-radius:7px;font-weight:550;font-size:12px;white-space:nowrap;min-height:42px}.primary{background:var(--blue);color:white;box-shadow:0 3px 5px #fa274214}.primary:hover{background:#b8192e}.secondary{background:white;border:1px solid #e0d6c8}.secondary:hover{background:#f4eee5}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:9px;background:white;margin-bottom:38px;padding:25px 0}.stats>div{display:flex;align-items:center;gap:17px;padding:0 28px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stat-icon{color:#cf2038;background:#faf1eb;border:1px solid #f2ded7;border-radius:9px;width:46px;height:46px;display:grid;place-items:center}.stats small{color:#807469;font-size:9px;letter-spacing:1.4px}.stats strong{display:block;font:700 27px 'DM Sans';margin-top:2px}.toolbar{display:flex;gap:14px;align-items:center;margin-bottom:24px}.search{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);border-radius:7px;padding:0 13px;width:390px;color:#8c7f73}.search input{width:100%;border:0;box-shadow:none;padding:12px 0;font-size:12px}.search button{padding:3px;display:grid;place-items:center}.resultcount{margin-left:auto;font-size:11px;color:#81756a;white-space:nowrap}.toolbar select{font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.companycard,.jobcard{background:white;border:1px solid var(--line);border-radius:9px;text-align:left;padding:24px;transition:transform .2s,box-shadow .2s}.companycard:hover,.jobcard:hover{transform:translateY(-3px);box-shadow:0 7px 24px #30231815;border-color:#d9bcb0}.cardtop{display:flex;align-items:center;justify-content:space-between;color:#9c8d80;margin-bottom:27px}.companyicon{height:47px;width:47px;background:#fce9e6;border-radius:9px;color:#cb2439;display:grid;place-items:center;font-weight:650;font-size:17px}.companycard>p{color:#85786b;display:flex;align-items:center;gap:5px;font-size:11px;margin:10px 0 23px;white-space:pre-wrap}.cardfoot{border-top:1px solid #eee5da;padding-top:16px;margin-top:17px;display:flex;align-items:center;justify-content:space-between;color:#7b6f63;font-size:11px}.cardfoot>span{display:flex;gap:6px;align-items:center}.badge{display:inline-block;background:#f0ebe3;color:#6e6358;border-radius:5px;padding:5px 8px;font-size:10px;margin-bottom:19px}.badge.Inprogress{background:#fff4dd;color:#97702c}.badge.Completed{background:#e9f5ef;color:#338563}.jobcard>p{color:#807467;font-size:12px;margin:8px 0 20px}.jobmeta{display:grid;gap:8px;font-size:11px;color:#7b6f63}.jobmeta span,.detailmeta span{display:flex;gap:7px;align-items:center}.welcome{background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:48px 40px;min-height:345px}.welcometext h2{font-size:29px;line-height:1.35}.welcometext p{font-size:12px;color:#7a6e61;max-width:320px;margin:17px 0 25px}.workflow{align-self:center;padding-left:26px;border-left:1px solid #e8dfd3;display:grid;gap:14px}.workflow>div{display:flex;align-items:center;gap:15px;padding:19px 15px;background:#faf6ef;border:1px solid #f0e8dc;border-radius:8px}.workflow>div>span{font-size:9px;letter-spacing:1px;color:#9b8b7a}.workflow>div>svg{color:#c72238;width:20px}.workflow>div>svg:last-child{margin-left:auto;width:15px;color:#9f8d7b}.workflow strong{font-size:12px}.workflow p{font-size:10px;color:#897b6d;margin:4px 0 0}.back{display:flex;gap:7px;align-items:center;color:#7d6d5e;font-size:11px;margin-bottom:22px;padding:0}.notebox{padding:22px 26px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:30px}.notebox strong{font-size:12px}.notebox p{color:#796d60;font-size:13px;white-space:pre-wrap;margin:9px 0 0}.detailmeta{display:flex;gap:20px;flex-wrap:wrap}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:15px}.sectiontitle h2{font-size:20px;letter-spacing:-.025em}.sectiontitle small{color:#8b7b6b;font:12px 'DM Sans';padding:4px 7px;border-radius:4px;background:#f0e8dc;margin-left:7px}.actions{display:flex;gap:10px}.hint{font-size:10px;color:#8b7b6b;margin-bottom:24px}.uploadzone,.empty{text-align:center;padding:65px 20px;background:white;border:1px dashed #dfcdbd;border-radius:10px;color:#a77664}.uploadzone h3,.empty h2{color:#544438;margin-top:18px;font-size:21px}.uploadzone p,.empty p{font-size:12px;color:#8a7968}.empty .secondary{margin-top:10px}.photogrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.photocard{background:white;text-align:left;border-radius:9px;border:1px solid var(--line);overflow:hidden;padding:0}.photocard>img{width:100%;height:200px;object-fit:cover;display:block}.photocard>div{padding:17px}.photocard strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photocard p{font-size:11px;color:#7e6d5c;margin:6px 0}.photocard small{font-size:10px;color:#8c7c6d}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:65px;padding:22px 0;color:#958575;font-size:9px}footer>span:first-child{letter-spacing:1.5px;font-weight:600}.overlay{position:fixed;inset:0;background:#141210a8;z-index:20;backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:25px;overflow:auto}.modal{background:#fff;border-radius:13px;padding:32px;position:relative;width:520px;max-width:100%;max-height:calc(100dvh - 50px);overflow:auto;box-shadow:0 20px 80px #14121050}.close{display:grid;place-items:center;width:36px;height:36px;position:absolute;right:17px;top:16px;color:#8b7968}.modal h2{font-size:26px}.muted{color:#88796a;font-size:12px;margin:9px 0 24px}form label,.lightdetails label{display:grid;gap:8px;font-size:12px;font-weight:550;margin-bottom:17px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:15px}.modalfoot{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:21px;margin-top:8px}.lightbox{background:white;border-radius:10px;max-width:850px;width:100%;max-height:calc(100dvh - 50px);overflow:auto}.lighttop{position:relative;padding:21px 60px 21px 23px;font-size:12px;overflow-wrap:anywhere}.lightbox>img{display:block;max-height:48dvh;width:100%;object-fit:contain;background:#1e1c19}.lightdetails{padding:18px 24px 24px}.lightdetails p{font-size:12px;color:#8b7968;margin:0 0 16px}.lightdetails .actions{justify-content:flex-end}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:50;background:#2a2723;color:white;box-shadow:0 5px 25px #14121040;border-radius:9px;padding:16px 20px;display:flex;gap:20px;align-items:center;max-width:90vw;font-size:12px}.toast button{color:white;padding:0;display:flex}.error{border:1px solid #e5baab;background:#fff4ef;color:#9b5338;padding:15px 20px;border-radius:7px;margin-bottom:25px}.error button{text-decoration:underline}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){main{padding-top:55px}.welcome{padding:60px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){aside{width:200px;padding:28px 12px}.brand{gap:10px}.brand>span:last-child{font-size:12px}.brand small{font-size:6px}.main{margin-left:200px;width:calc(100% - 200px)}main{padding:32px 27px 0}header{padding:0 27px}.heading{align-items:flex-start}h1{font-size:29px}.welcome{padding:30px 25px;gap:20px}.workflow{padding-left:15px}.workflow>div{padding:17px 10px;gap:9px}.workflow>div>span{display:none}.stats>div{padding:0 18px;gap:12px}.grid,.photogrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){aside{position:relative;width:100%;height:auto;display:block;padding:18px 20px 0}.shell{display:block}.brandmark{font-size:30px}.brand{padding:0}.brand>span:last-child{font-size:13px}.brand small{font-size:6px}.navlabel,.asidebottom{display:none}nav{display:flex;margin-top:20px;gap:8px}nav button{flex:1;justify-content:center;padding:12px 7px;font-size:11px;border-radius:6px 6px 0 0;gap:7px}nav button svg{width:16px}nav small{display:none}.main{width:100%;margin:0}header{height:51px;padding:0 20px}.toplabel{display:none}.breadcrumbs{gap:7px;font-size:10px}main{padding:29px 20px 0}.heading{display:flex;gap:16px;margin-bottom:25px;flex-wrap:wrap}.heading>div{min-width:0}.heading h1{font-size:28px;overflow-wrap:anywhere}.heading p{font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.6px}.primary,.secondary{font-size:12px;padding:12px 14px}.stats{padding:20px 0;margin-bottom:26px}.stats>div{padding:0 12px;gap:9px}.stat-icon{display:none}.stats small{font-size:7px;letter-spacing:.7px}.stats strong{font-size:24px}.welcome{display:block;padding:30px 25px}.welcometext h2{font-size:28px}.workflow{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;margin-top:30px;gap:10px}.workflow>div{padding:16px 14px;gap:15px}.workflow>div>span{display:block}.toolbar{flex-wrap:wrap;gap:10px}.search{flex:1;min-width:200px;width:100%}.toolbar select{padding:10px;font-size:11px}.resultcount{font-size:10px}.grid{gap:13px}.companycard,.jobcard{padding:20px}.photogrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photocard>img{height:150px}.photocard>div{padding:12px}.sectiontitle{align-items:flex-start;flex-wrap:wrap}.sectiontitle h2{margin-bottom:5px}.actions{flex-wrap:wrap}.detailmeta{gap:9px 17px}.notebox{padding:20px}.overlay{padding:12px}.modal{max-height:calc(100dvh - 24px);padding:27px 23px}.lightbox{max-height:calc(100dvh - 24px)}footer{margin-top:40px;font-size:8px;gap:12px}.toast{bottom:15px;min-width:260px}.cardtop{margin-bottom:20px}}@media(max-width:430px){.grid{grid-template-columns:1fr}.formrow{grid-template-columns:1fr;gap:0}.search input{font-size:11px}.heading h1{font-size:26px}.photogrid{grid-template-columns:repeat(2,minmax(0,1fr))}.photocard>img{height:130px}footer>span:last-child{max-width:150px;text-align:right}}
.signin-page{min-height:100dvh;max-width:none;padding:30px;display:grid;place-items:center;background:radial-gradient(ellipse at 80% 10%,#6b252c,transparent 65%),#141210}.signin-card{width:100%;max-width:480px;padding:46px;background:white;border-radius:16px;box-shadow:0 25px 90px #14121055}.signin-brand{font-size:35px;font-weight:800;letter-spacing:-2px;margin-bottom:47px}.signin-brand>span{color:#19a2c5}.signin-brand small{font-size:12px;letter-spacing:2px;margin-left:9px;vertical-align:middle}.signin-card h1{font-size:33px}.signin-card>p{color:#746c63;font-size:14px;margin:20px 0 27px}.signin-button{width:100%;justify-content:space-between;padding:16px 19px;font-size:14px}.signin-card .signin-help{font-size:11px;margin:19px 0 0;line-height:1.8}.account-menu{display:flex;align-items:center;gap:16px;font-size:11px;min-width:0}.account-name{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#746c63}.account-menu>a{color:#d51d36;white-space:nowrap;padding:8px 0}@media(max-width:760px){.account-name{display:none}.account-menu{margin-left:10px}.signin-page{padding:20px}.signin-card{padding:32px 27px}.signin-card h1{font-size:29px}.signin-brand{margin-bottom:35px}}

/* CCI brand: charcoal, warm cream, and red. */
:root{--cci-red:#fa2742;--cci-cream:#faf7f2;--cci-charcoal:#141210}
.brand{flex-direction:column;align-items:flex-start;gap:15px;padding:0 6px}.cci-logo{display:block;width:100%;max-width:185px;height:auto}.brand>span:last-child{font-size:11px;letter-spacing:2.5px}.brand small{color:#b9aa9a;margin-top:7px;letter-spacing:1.3px}.navlabel{margin-top:35px}nav button.active{color:#fff;background:#fa274225;box-shadow:inset 3px 0 #fa2742}nav button.active>svg{color:#ff8070}.asidebottom .private-dot{background:#fa2742}.primary{background:#d51d36;color:#fff;box-shadow:0 4px 12px #fa274219}.primary:hover{background:#b8192e}.eyebrow{color:#c71d34}.heading h1{font-weight:700;letter-spacing:-.025em}.welcome{background:linear-gradient(120deg,#fff 0%,#faf7f2 100%)}.welcome h2{font-family:'Playfair Display',Georgia,serif}.companycard h3,.jobcard h3{font-family:'DM Sans',sans-serif;font-weight:650}.companyicon{color:#c71d34}.signin-page{background:radial-gradient(ellipse at 85% 10%,#65212a 0,transparent 60%),#141210}.signin-card{background:#faf7f2;border:1px solid #e8e0d4}.signin-brand{background:#141210;padding:23px;border-radius:9px;margin-bottom:36px;letter-spacing:0}.signin-brand .cci-logo{max-width:255px;margin:0 auto}.signin-brand small{display:block;text-align:center;margin:19px 0 0;color:#fff;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:3px}.signin-card h1{font-weight:700}.signin-card .eyebrow{font-size:9px}.account-menu>a{color:#c71d34}.search:focus-within{border-color:#d6a79e}.workflow strong{color:#322820}footer{color:#877a6c}
@media(max-width:760px){.brand{flex-direction:row;align-items:center;gap:18px;padding:0}.brand .cci-logo{width:155px}.brand>span:last-child{border-left:1px solid #ffffff25;padding-left:18px;font-size:10px}.brand small{font-size:6px;max-width:100px;line-height:1.7}.signin-brand .cci-logo{width:100%;max-width:240px}.signin-brand{padding:20px}.navlabel{display:none}}
.profileform{display:flex;align-items:center;gap:12px;margin-top:17px}.profileform input{max-width:350px;width:100%}.assignmentbar{display:flex;gap:15px;align-items:flex-end;margin-bottom:25px}.assignmentbar label{display:grid;gap:8px;font-size:12px;font-weight:600;max-width:470px;min-width:0;flex:1}.assignmentbar select{width:100%}.toolbar{flex-wrap:wrap}.useremail{overflow-wrap:anywhere;white-space:normal!important}.teamgrid .badge{margin:0}.teamgrid .companycard>p{font-size:12px}.teamgrid .secondary{margin-top:5px}@media(max-width:760px){nav{flex-wrap:wrap}nav button{flex:1 1 40%}.toolbar select{max-width:100%}.profileform,.assignmentbar{flex-wrap:wrap}.assignmentbar label{flex-basis:100%}.profileform .primary{width:auto}.actions select{max-width:100%}}

/* ---- Plesk edition additions: login, setup, team admin, import ---- */
.signin-form{margin-top:4px}.signin-form label{display:grid;gap:8px;font-size:12px;font-weight:550;margin-bottom:15px}.signin-form .signin-button{margin-top:6px}
.signin-card .error{margin:0 0 18px;font-size:12px}.setup-card{max-width:560px}.setup-h{font-size:19px;margin:26px 0 6px}.setup-card .hint{margin-bottom:14px}
.checks{list-style:none;padding:0;margin:22px 0;display:grid;gap:8px;font-size:12px}.checks li{display:flex;gap:10px;align-items:flex-start}.checks li>span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}.checks .ok>span{background:#e9f5ef;color:#338563}.checks .bad>span{background:#fff4dd;color:#97702c}.checks small{display:block;color:#8b7b6b;font-size:11px;margin-top:2px}
.configbox{width:100%;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;margin-bottom:18px}
.pwbox{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.pwbox summary{cursor:pointer;font-size:12px;font-weight:600;color:#c71d34}.pwform{margin-top:16px;max-width:560px}
.cardtop .tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.badge.warn{background:#fff4dd;color:#97702c}.companycard.inactive{opacity:.6}
.teamactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}.teamactions .secondary{margin-top:0!important}
form label.checkrow{display:flex;align-items:center;gap:10px;align-self:end;min-height:46px}.checkrow input{width:18px;height:18px;padding:0}
a.export{display:flex}
.importpage main{max-width:860px;padding:45px 24px}.importpage .back{display:inline-block;margin-bottom:24px;font-size:12px;color:#5c5751}.importpage input[type=file]{margin-top:10px;width:100%}.importresult{margin-top:14px;font-size:12px}.importresult .ok{color:#338563}.importresult .bad{color:#9b5338}.importresult ul{margin:0;padding-left:18px;color:#9b5338}
.danger{display:inline-flex;align-items:center;padding:12px 17px;border-radius:7px;font-weight:550;font-size:12px;min-height:42px;margin-right:auto;color:#b8192e;border:1px solid #f0c9c9;background:#fff}.danger:hover{background:#fff1f1}.danger.armed{background:#b8192e;color:#fff;border-color:#b8192e}
