:root{--bg:#f5f7fb;--card:#fff;--ink:#192231;--muted:#667085;--line:#e1e6ed;--brand:#6b3f19;--accent:#b8792c;--ok:#137a4d;--bad:#a33a33}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.45 Arial,sans-serif;color:var(--ink)}.app{max-width:1220px;margin:auto;padding:24px}.hero,.box{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 10px 30px rgba(16,24,40,.07)}.hero{display:flex;gap:18px;align-items:center;padding:22px 26px;background:linear-gradient(135deg,#fff7eb,#fff);border-color:#ebddc8}.logo{width:82px;height:82px;display:flex;align-items:center;justify-content:center;border:1px solid #eadfce;border-radius:14px;background:#fff;padding:8px;flex:0 0 82px}.logo img{max-width:100%;max-height:100%;object-fit:contain}.eyebrow{font-size:11px;letter-spacing:.09em;font-weight:700;color:var(--accent)}h1{font-size:30px;color:var(--brand);margin:4px 0}h2{font-size:18px;margin:0 0 14px}.hero p,.head p{margin:0;color:var(--muted)}.box{padding:20px;margin-top:16px}.grid{display:grid;gap:14px}.four{grid-template-columns:repeat(4,1fr)}.three{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:minmax(240px,1fr) auto}.row2{margin-top:14px}label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#344054}input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:9px;padding:10px 11px;background:#fff;font:inherit}.check{flex-direction:row;align-items:center;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-weight:500}.check input{width:auto}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.primary,.secondary{border:0;border-radius:9px;padding:11px 16px;font-weight:700;text-decoration:none;cursor:pointer}.primary{background:var(--brand);color:#fff}.primary:disabled{opacity:.45}.secondary{background:#f2e7d7;color:var(--brand)}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f2f4f7;font-size:12px;font-weight:700}.head{display:flex;justify-content:space-between;gap:20px}.empty{padding:28px;text-align:center;border:1px dashed #ccd3dd;border-radius:12px;color:var(--muted)}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;min-width:880px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafc;font-size:12px}tr.selected{background:#fff7ea}.good{color:var(--ok);font-weight:700}.bad{color:var(--bad);font-weight:700}.small{font-size:12px;color:var(--muted)}.selection{border:1px solid var(--line);border-radius:10px;background:#f9fafb;padding:12px;margin-bottom:12px}.success{margin-top:14px;padding:12px;background:#ecfdf3;color:#08613d;border-radius:10px}.loader{position:fixed;inset:0;background:rgba(255,255,255,.68);display:flex;align-items:center;justify-content:center;gap:10px;z-index:50}.loader i{width:28px;height:28px;border:3px solid #e6d7c2;border-top-color:var(--brand);border-radius:50%;animation:s .8s linear infinite}@keyframes s{to{transform:rotate(360deg)}}.toast{position:fixed;right:18px;bottom:18px;background:#101828;color:#fff;padding:12px 15px;border-radius:10px;max-width:420px;z-index:60}.hidden{display:none!important}@media(max-width:820px){.app{padding:12px}.four,.three{grid-template-columns:1fr}.hero{align-items:flex-start;padding:18px}.logo{width:64px;height:64px;flex-basis:64px}h1{font-size:24px}}
.faculty-search{display:flex;align-items:center;gap:12px;margin:14px 0}.faculty-search input{max-width:520px;background:#fff}.faculty-search .small{white-space:nowrap}
.final-grid{align-items:end;margin-bottom:12px}.circular-tools{display:flex;gap:8px;align-items:end;padding-bottom:1px}.mini{border:1px solid #d0b793;background:#f6ead9;color:var(--brand);border-radius:8px;padding:10px 12px;font-weight:700;cursor:pointer}.mini.ghost{background:#fff}
.history-box{margin-bottom:30px}.history-table{min-width:800px}.history-empty td{text-align:center;color:var(--muted)}
@media(max-width:820px){.two{grid-template-columns:1fr}.circular-tools{align-items:center}.faculty-search{align-items:stretch;flex-direction:column}.faculty-search input{max-width:none}}

.signatory-details{margin:14px 0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fcfcfd}.signatory-details summary{cursor:pointer;font-weight:700;color:var(--brand)}.sign-grid{margin-top:12px}.sign-grid h3{margin:0 0 9px;font-size:14px}.sign-grid label+label{margin-top:9px}
.history-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin:14px 0}.history-buttons{display:flex;gap:8px;padding-bottom:1px}.history-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}.history-pagination button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:820px){.history-filters{grid-template-columns:1fr}.history-buttons{align-items:center}.sign-grid,.two{grid-template-columns:1fr}}

.month-table{min-width:1040px}.month-table th:nth-child(1),.month-table td:nth-child(1){width:7%;text-align:center}.month-table th:nth-child(2){width:12%}.month-table th:nth-child(3){width:14%}.month-table th:nth-child(4){width:38%}.month-table th:nth-child(5){width:22%}.month-table th:nth-child(6){width:7%}
.month-table select{min-width:390px}.row-search{margin-top:6px}.row-search input{padding:7px 9px;font-size:13px}.bulk-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:13px 0}.skipbox{display:flex;flex-direction:row;align-items:center;gap:6px;font-weight:500}.skipbox input{width:auto}.inline-tools{display:flex;gap:8px;align-items:end;padding-bottom:1px}.success{font-size:14px}
@media(max-width:820px){.month-table select{min-width:260px}.inline-tools{align-items:center}.month-table{min-width:920px}}

.planner-tabs{display:flex;gap:8px;margin:18px 0 2px;padding:5px;background:#e9edf3;border-radius:12px;width:max-content;max-width:100%}.planner-tab{border:0;background:transparent;padding:10px 22px;border-radius:9px;font-weight:700;color:#475467;cursor:pointer}.planner-tab.active{background:#fff;color:var(--brand);box-shadow:0 2px 8px rgba(16,24,40,.08)}.period-selectors{max-width:360px}.twoequal{grid-template-columns:repeat(2,1fr)}.consultant-picker{min-width:400px}.type-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f2e7d7;color:var(--brand);font-size:12px;font-weight:700}.history-filters{grid-template-columns:minmax(220px,2fr) 140px 150px 150px auto}.month-table select{min-width:0}.row-search{display:none}.month-table .consultant-picker{font-size:13px}.planner-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:820px){.planner-tabs{width:100%}.planner-tab{flex:1;padding:10px 8px}.twoequal{grid-template-columns:1fr}.consultant-picker{min-width:280px}.history-filters{grid-template-columns:1fr}.period-selectors{max-width:none}}

/* v0.7 compact status badges */
.head{align-items:flex-start}
.head>.pill{align-self:flex-start;flex:0 0 auto;white-space:nowrap;min-width:0;width:auto;height:auto;line-height:1.2;padding:6px 10px;border-radius:999px}

/* Rich-text circular content should honour editor formatting rather than forced sizes. */
.rich-content{line-height:1.35}
.rich-content p{margin:5px 0}
.rich-content ol,.rich-content ul{margin:5px 0 5px 24px;padding-left:16px}
.rich-content li{margin:2px 0}
.notes .note-item{margin:3px 0}
.opening.rich-content{margin:8px 0 12px}

.hero{position:relative}.hero-main{min-width:0}.app-user{margin-left:auto;display:flex;align-items:center;gap:12px;padding-left:18px}.app-user span{display:flex;flex-direction:column;text-align:right;font-size:13px}.app-user small{font-size:11px;color:#667085;font-weight:500}.app-user a{border:1px solid #dccbb8;background:#fff;color:#704015;text-decoration:none;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:700;white-space:nowrap}
@media(max-width:760px){.hero{align-items:flex-start}.app-user{width:100%;padding:10px 0 0;margin:0;justify-content:space-between;border-top:1px solid rgba(100,80,55,.12)}.app-user span{text-align:left}}

/* v0.7.9 — full-list consultant picker */
.consultant-picker-wrap{position:relative;display:flex;align-items:stretch;width:100%}
.consultant-picker-wrap .consultant-picker{width:100%;padding-right:44px}
.consultant-toggle{position:absolute;right:1px;top:1px;bottom:1px;width:42px;border:0;border-left:1px solid #d8dee8;background:#fff;color:#263238;font-size:18px;border-radius:0 9px 9px 0;cursor:pointer;z-index:2}
.consultant-toggle:hover{background:#f5f7fa}.consultant-toggle:disabled{cursor:not-allowed;opacity:.45}
.consultant-menu{display:none;position:absolute;z-index:80;left:0;right:0;top:calc(100% + 5px);max-height:290px;overflow:auto;background:#fff;border:1px solid #d7dee8;border-radius:12px;box-shadow:0 14px 34px rgba(24,39,58,.18);padding:6px}
.consultant-menu.open{display:block}
.consultant-option{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;border:0;border-radius:8px;background:#fff;text-align:left;cursor:pointer}
.consultant-option:hover,.consultant-option:focus{background:#f4f7fb;outline:none}
.consultant-option-name{font-weight:700;color:#1f2937}.consultant-option-meta{font-size:12px;color:#667085}
.consultant-option[hidden]{display:none!important}
.consultant-menu.no-results::after{content:"No matching eligible consultant";display:block;padding:12px;color:#667085;font-size:13px;text-align:center}
@media(max-width:700px){.consultant-menu{max-height:240px}}

/* v0.8.0 — dropdown search inside consultant list */
.consultant-menu{padding:0;overflow:hidden}
.consultant-menu-search-wrap{
  position:sticky;
  top:0;
  z-index:3;
  display:flex;
  align-items:center;
  gap:6px;
  padding:8px;
  background:#fff;
  border-bottom:1px solid #e4e8ee;
}
.consultant-menu-search{
  width:100%;
  min-width:0;
  height:38px;
  border:1px solid #cfd7e3;
  border-radius:9px;
  padding:8px 34px 8px 31px;
  font-size:13px;
  outline:none;
}
.consultant-menu-search:focus{
  border-color:#7c93b2;
  box-shadow:0 0 0 2px rgba(70,106,153,.12);
}
.consultant-search-icon{
  position:absolute;
  left:18px;
  top:18px;
  color:#667085;
  font-size:16px;
  pointer-events:none;
}
.consultant-search-clear{
  display:none;
  position:absolute;
  right:14px;
  top:13px;
  width:27px;
  height:27px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#667085;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.consultant-search-clear.show{display:block}
.consultant-search-clear:hover{background:#f1f4f7;color:#344054}
.consultant-options{
  max-height:236px;
  overflow:auto;
  padding:6px;
}
.consultant-no-results{
  display:none;
  padding:16px 12px;
  color:#667085;
  font-size:13px;
  text-align:center;
}
.consultant-no-results.show{display:block}
@media(max-width:700px){
  .consultant-options{max-height:205px}
}
