/* KKC Staff Repository — styles (matches the main site brand) */
:root{
  --sky:#3b82c4; --sky-light:#5ba4d6; --sky-50:#e6f1fb;
  --navy:#0b2545; --gold:#c9a25a; --gold-dark:#b08c45;
  --bg:#f7f8f6; --line:#e4e8ee; --ink:#1c2733; --muted:#65758a;
  --radius:14px; --shadow:0 1px 3px rgba(11,37,69,.06),0 8px 24px rgba(11,37,69,.06);
  --ease:cubic-bezier(.2,.7,.3,1);
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;line-height:1.5;}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);margin:0;line-height:1.1;font-weight:700;}
a{color:var(--sky);text-decoration:none;}

/* preview notice (remove at go-live) */
.preview-note{background:var(--gold);color:#1a1206;text-align:center;font-size:13px;
  padding:8px 16px;font-weight:500;}

/* header */
.repo-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;}
.repo-header .row{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:16px;}
.repo-header .repo-logo{height:34px;display:block;}
.repo-header .title{font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:700;
  color:var(--navy);border-left:1px solid var(--line);padding-left:16px;}
.repo-header .spacer{flex:1;}
.link-back{font-size:13.5px;color:var(--muted);}
.link-back:hover{color:var(--sky);}
.signout{background:none;border:1px solid var(--line);border-radius:8px;padding:8px 14px;
  font-size:13px;color:var(--navy);font-weight:500;transition:border-color .15s,background .15s;}
.signout:hover{border-color:var(--sky);background:var(--sky-50);}

.wrap{max-width:1080px;margin:0 auto;padding:34px 24px 60px;}
.repo-head{margin-bottom:24px;}
.eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--sky);margin-bottom:8px;}
.repo-head h1{font-size:34px;}
.repo-head p{color:var(--muted);margin:8px 0 0;font-size:14.5px;max-width:60ch;}

.breadcrumb{font-size:13.5px;color:var(--muted);margin-bottom:18px;}
.breadcrumb a{color:var(--sky);}
.breadcrumb .sep{margin:0 8px;color:#b6c0cd;}
.breadcrumb .here{color:var(--navy);font-weight:500;}

/* library cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;}
.folder{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;
  display:flex;gap:14px;align-items:flex-start;
  transition:transform .15s var(--ease),box-shadow .15s,border-color .15s;}
.folder:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#cfe2f4;}
.folder .ico{flex-shrink:0;width:44px;height:44px;border-radius:10px;background:var(--sky-50);
  display:flex;align-items:center;justify-content:center;color:var(--sky);}
.folder h3{font-family:Inter,sans-serif;font-size:15.5px;font-weight:600;color:var(--navy);margin:0 0 3px;}
.folder .meta{font-size:12.5px;color:var(--muted);}

/* file table */
.files{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.file-row{display:flex;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid var(--line);
  transition:background .12s;}
.file-row:last-child{border-bottom:none;}
.file-row:hover{background:#fafbfc;}
.file-row .ftype{flex-shrink:0;width:34px;height:34px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;font-size:11px;font-weight:700;color:#fff;}
.ft-doc{background:#2b6cb0;} .ft-xls{background:#2f855a;} .ft-pdf{background:#c0392b;}
.ft-img{background:#8e44ad;} .ft-zip{background:#7a8699;}
.file-row .fname{flex:1;min-width:0;}
.file-row .fname b{font-weight:500;color:var(--ink);font-size:14.5px;display:block;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.file-row .fname span{font-size:12px;color:var(--muted);}
.file-row .fsize{font-size:13px;color:var(--muted);width:78px;text-align:right;flex-shrink:0;}
.file-row .dl{flex-shrink:0;border:1px solid var(--line);border-radius:8px;background:none;
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--sky);
  transition:border-color .15s,background .15s;}
.file-row .dl:hover{border-color:var(--sky);background:var(--sky-50);}

/* empty state */
.empty{background:#fff;border:1px dashed #cfd7e2;border-radius:var(--radius);
  padding:48px 24px;text-align:center;}
.empty .e-ico{width:52px;height:52px;border-radius:12px;background:var(--sky-50);color:var(--sky);
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.empty h3{font-family:Inter,sans-serif;font-size:16px;font-weight:600;color:var(--navy);margin:0 0 6px;}
.empty p{color:var(--muted);font-size:14px;margin:0;}

@media (max-width:640px){
  .repo-header .title{font-size:17px;padding-left:12px;}
  .link-back{display:none;}
  .repo-head h1{font-size:27px;}
}

/* ---- repository login interface ---- */
.auth-wrap{min-height:calc(100vh - 38px);display:flex;align-items:center;justify-content:center;padding:40px 20px;}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);width:100%;max-width:420px;padding:42px 38px;text-align:center;}
.auth-logo{height:48px;width:auto;margin:0 auto 22px;display:block;}
.auth-card h1{font-size:30px;margin-bottom:6px;}
.auth-sub{color:var(--muted);font-size:14.5px;margin:0 0 26px;}
.auth-field{text-align:left;margin-bottom:18px;}
.auth-field label{display:block;font-size:12.5px;font-weight:600;color:var(--navy);
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px;}
.auth-field input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;
  font-size:15px;color:var(--ink);background:#fcfdfe;transition:border-color .15s,box-shadow .15s;}
.auth-field input:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-50);}
.auth-btn{width:100%;padding:13px 18px;border:none;border-radius:10px;background:var(--gold);
  color:#1a1206;font-weight:600;font-size:15px;cursor:pointer;transition:background .15s,transform .05s;}
.auth-btn:hover{background:var(--gold-dark);}
.auth-btn:active{transform:translateY(1px);}
.auth-foot{font-size:12.5px;color:var(--muted);margin-top:20px;line-height:1.5;}

/* code-entry step on the login interface */
.sent-to{font-weight:600;color:var(--navy);}
.code-inputs{display:flex;gap:9px;justify-content:center;margin-bottom:22px;}
.code-inputs input{width:46px;height:54px;text-align:center;font-size:22px;font-weight:600;
  border:1px solid var(--line);border-radius:10px;background:#fcfdfe;color:var(--ink);}
.code-inputs input:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-50);}
.auth-back{background:none;border:none;color:var(--sky);font-size:13.5px;margin-top:16px;cursor:pointer;padding:6px;}
