
:root{
 --ncsm-primary:#0066CC;
 --ncsm-primary-2:#004C99;
 --ncsm-soft:#eef9fe;
 --ncsm-soft2:#f7fcfe;
 --ncsm-line:#d9eaf2;
 --ncsm-text:#18303d;
 --ncsm-muted:#6b7f89;
}
html,body.ncsm-standalone-page{margin:0!important;background:#f6fafc!important}
body.ncsm-standalone-page #wpadminbar{display:none!important}
body.admin-bar.ncsm-standalone-page{margin-top:0!important}
.ncsm-standalone{min-height:100vh;width:100%}
.ncsm-app{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;width:100%;background:#f6fafc;font-family:Inter,Arial,sans-serif;color:var(--ncsm-text)}
.ncsm-side{background:#fff;border-right:1px solid var(--ncsm-line);padding:28px 18px;display:flex;flex-direction:column;box-shadow:8px 0 30px rgba(34,133,180,.04)}
.ncsm-logo{font-size:25px;font-weight:700;padding:0 10px 28px;color:var(--ncsm-text)}.ncsm-logo span{color:var(--ncsm-primary)}
.ncsm-side nav{display:grid;gap:5px}.ncsm-side nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;color:#536d79;font-size:14px;cursor:pointer}.ncsm-side nav a.active,.ncsm-side nav a:hover{background:var(--ncsm-soft);color:var(--ncsm-primary-2)}
.ncsm-ico{width:19px;height:19px;flex:0 0 19px}
.ncsm-user{margin-top:auto;padding:20px 10px 0;border-top:1px solid var(--ncsm-line);font-size:13px;color:#59727d}.ncsm-user a{color:var(--ncsm-primary-2)}
.ncsm-main{padding:34px 38px 48px;min-width:0}
.ncsm-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.ncsm-top small{font-weight:700;letter-spacing:.12em;color:var(--ncsm-primary-2)}.ncsm-top h1{font-size:35px;font-weight:650;letter-spacing:-.025em;margin:4px 0}.ncsm-top p{margin:0;color:var(--ncsm-muted)}.ncsm-avatar img{border-radius:50%;border:3px solid #fff;box-shadow:0 5px 18px rgba(43,155,212,.12)}
.ncsm-primary{background:var(--ncsm-primary);color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;font-size:13px;box-shadow:0 8px 20px rgba(43,155,212,.15)}
.ncsm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.ncsm-stat{background:#fff;border:1px solid var(--ncsm-line);border-radius:16px;padding:20px;box-shadow:0 7px 22px rgba(34,133,180,.04)}.ncsm-stat span,.ncsm-stat small{display:block;color:var(--ncsm-muted)}.ncsm-stat strong{font-size:30px;display:block;margin:6px 0;color:var(--ncsm-primary-2)}
.ncsm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.ncsm-box{background:#fff;border:1px solid var(--ncsm-line);border-radius:16px;padding:20px;min-width:0}.ncsm-box h3{margin:0 0 16px}.ncsm-box-head{display:flex;justify-content:space-between}.ncsm-box-head a{color:var(--ncsm-primary-2);font-size:13px}
.ncsm-list{display:grid}.ncsm-list>div{padding:12px 0;border-bottom:1px solid #edf4f7;display:flex;align-items:center;gap:18px}.ncsm-list span{font-size:12px;color:#7a8d96;min-width:76px}.ncsm-list strong{font-size:14px}
.ncsm-empty{padding:26px;background:var(--ncsm-soft2);border:1px dashed #c8e4f0;border-radius:12px;color:#7a8d96;font-size:14px}
.ncsm-clients{display:grid}.ncsm-clients>div{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #eef4f6}.ncsm-clients img{border-radius:50%}.ncsm-clients span strong,.ncsm-clients span small{display:block}.ncsm-clients span small{color:#7c8f98;font-size:12px}.ncsm-clients button{border:1px solid #cfe4ee;background:#fff;color:var(--ncsm-primary-2);border-radius:8px;padding:7px 10px}
.ncsm-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.ncsm-cal-head button{border:1px solid #d9eaf2;background:var(--ncsm-soft2);color:var(--ncsm-primary-2);border-radius:8px;width:32px;height:32px}.ncsm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.ncsm-cal-grid>*{text-align:center;padding:7px 4px;font-size:12px}.ncsm-cal-grid span{background:var(--ncsm-soft2);border-radius:7px}
.ncsm-login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f8fdff,#eaf7fd);padding:24px}
.ncsm-login>div{width:min(100%,520px);background:#fff;border:1px solid var(--ncsm-line);border-radius:22px;padding:40px;box-shadow:0 22px 60px rgba(43,155,212,.10)}.ncsm-login span{color:var(--ncsm-primary-2);font-size:12px;font-weight:700;letter-spacing:.12em}.ncsm-login h2{font-size:34px;line-height:1.1;font-weight:650}.ncsm-login p{color:var(--ncsm-muted)}.ncsm-login input{width:100%;min-height:44px;border:1px solid #d5e6ee;border-radius:10px}.ncsm-login input[type=submit]{background:var(--ncsm-primary);color:#fff;border:0;font-weight:700}
@media(max-width:1100px){.ncsm-app{grid-template-columns:220px minmax(0,1fr)}.ncsm-main{padding:28px}.ncsm-stats{grid-template-columns:1fr 1fr}.ncsm-grid2{grid-template-columns:1fr}}
@media(max-width:760px){.ncsm-app{display:block}.ncsm-side{position:relative;border-right:0;border-bottom:1px solid var(--ncsm-line);padding:15px}.ncsm-logo{padding:4px 6px 12px}.ncsm-side nav{display:flex;overflow:auto;gap:6px}.ncsm-side nav a{white-space:nowrap}.ncsm-user{display:none}.ncsm-main{padding:20px 14px 40px}.ncsm-top{display:block}.ncsm-primary{display:inline-block;margin-top:16px}.ncsm-stats{grid-template-columns:1fr}.ncsm-grid2{grid-template-columns:1fr}.ncsm-top h1{font-size:30px}}


/* === v0.3.9 functional portal interactions === */
.ncsm-side nav a{text-decoration:none}
.ncsm-primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;border:0}
.ncsm-small-btn{border:1px solid #cfe4ee;background:#fff;color:var(--ncsm-primary-2);border-radius:8px;padding:7px 10px;text-decoration:none;font-size:12px}
.ncsm-stat--link{text-decoration:none;color:inherit;transition:.18s ease}
.ncsm-stat--link:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(34,133,180,.08)}
.ncsm-box-head a{text-decoration:none}
.ncsm-cal-head a{border:1px solid #d9eaf2;background:var(--ncsm-soft2);color:var(--ncsm-primary-2);border-radius:8px;width:32px;height:32px;display:grid;place-items:center;text-decoration:none}
.ncsm-cal-grid span{position:relative}
.ncsm-cal-grid span em{font-style:normal}
.ncsm-cal-grid span.has-event{background:#e6f5fd;color:var(--ncsm-primary-2);font-weight:700}
.ncsm-cal-grid span.has-event i{position:absolute;right:4px;top:3px;width:14px;height:14px;border-radius:50%;background:var(--ncsm-primary);color:#fff;font-size:9px;font-style:normal;display:grid;place-items:center}
.ncsm-client-table{display:grid}
.ncsm-client-table>a{display:grid;grid-template-columns:48px minmax(0,1fr) auto 24px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf4f7;text-decoration:none;color:inherit}
.ncsm-client-table img{border-radius:50%}
.ncsm-client-table strong,.ncsm-client-table small{display:block}
.ncsm-client-table small{color:#7c8f98;margin-top:2px}
.ncsm-client-group{font-size:12px;color:#5f7580;background:#f2f8fb;padding:6px 9px;border-radius:8px}
.ncsm-arrow{color:var(--ncsm-primary)}
.ncsm-details{display:grid;gap:0;margin:0}
.ncsm-details>div{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:11px 0;border-bottom:1px solid #edf4f7}
.ncsm-details dt{color:var(--ncsm-muted);font-size:12px}
.ncsm-details dd{margin:0;font-weight:600}
.ncsm-data-table{display:grid}
.ncsm-data-table>div{display:grid;grid-template-columns:36px minmax(0,1fr) 120px 110px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #edf4f7}
.ncsm-data-icon{width:32px;height:32px;border-radius:8px;background:var(--ncsm-soft);color:var(--ncsm-primary);display:grid;place-items:center}
.ncsm-data-main strong,.ncsm-data-main small{display:block}
.ncsm-data-main small{color:var(--ncsm-muted);margin-top:3px}
.ncsm-status{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ncsm-primary-2)}
.ncsm-form-box{max-width:900px}
.ncsm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ncsm-form-grid label{display:grid;gap:7px}
.ncsm-form-grid label span{font-size:12px;font-weight:700;color:#546c78}
.ncsm-form-grid input,.ncsm-form-grid select,.ncsm-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #d3e5ee;background:#fff;border-radius:9px;padding:10px 11px;font:inherit;color:var(--ncsm-text)}
.ncsm-form-wide{grid-column:1/-1}
.ncsm-submit{margin-top:18px}
.ncsm-notice{padding:11px 14px;border-radius:9px;margin:-8px 0 18px;font-size:13px}
.ncsm-notice--success{background:#edf9f1;color:#217a3c;border:1px solid #cdebd6}
.ncsm-notice--error{background:#fff2f2;color:#a33;border:1px solid #f0d0d0}
.ncsm-calendar-full .ncsm-cal-grid>*{padding:13px 6px}
.ncsm-list>div small{margin-left:auto;color:var(--ncsm-muted)}
@media(max-width:760px){
 .ncsm-client-table>a{grid-template-columns:44px minmax(0,1fr) 20px}
 .ncsm-client-group{display:none}
 .ncsm-data-table>div{grid-template-columns:34px minmax(0,1fr)}
 .ncsm-data-table>div>span:nth-child(3),.ncsm-data-table>div>span:nth-child(4){display:none}
 .ncsm-form-grid{grid-template-columns:1fr}
}


/* ==========================================================
   v0.4.0 — premium UX/UI: filters, status pills, modal calendar
   ========================================================== */
:root{
 --ncsm-primary:#0066CC;
 --ncsm-primary-2:#004C99;
 --ncsm-soft:#eef7fd;
 --ncsm-soft2:#f8fbfd;
 --ncsm-line:#dce9f1;
 --ncsm-text:#142d3a;
 --ncsm-muted:#6c818c;
 --ncsm-shadow:0 12px 34px rgba(26,84,118,.055);
}
.ncsm-main{background:linear-gradient(180deg,#f7fbfd 0,#f3f8fb 100%)}
.ncsm-box{box-shadow:var(--ncsm-shadow)}
.ncsm-list-shell{padding:0;overflow:hidden}
.ncsm-list-shell>.ncsm-empty{margin:20px}
.ncsm-filters{
 display:flex;align-items:center;gap:10px;flex-wrap:wrap;
 padding:14px 16px;border-bottom:1px solid var(--ncsm-line);
 background:linear-gradient(180deg,#fff,#fbfdfe)
}
.ncsm-search-field{
 flex:1 1 300px;min-width:230px;display:flex;align-items:center;gap:8px;
 height:38px;padding:0 11px;border:1px solid #d4e5ee;border-radius:9px;background:#fff
}
.ncsm-search-field .ncsm-ico{width:16px;height:16px;color:#73909e}
.ncsm-search-field input{width:100%;border:0!important;outline:0;background:transparent!important;padding:0!important;font:inherit;color:var(--ncsm-text)}
.ncsm-select-wrap select{
 height:38px;min-width:160px;border:1px solid #d4e5ee;border-radius:9px;background:#fff;
 padding:0 32px 0 11px;color:#425d69;font:inherit
}
.ncsm-filter-btn,.ncsm-secondary{
 height:38px;border-radius:9px;border:1px solid transparent;padding:0 14px;font-weight:700;font-size:12px;cursor:pointer
}
.ncsm-filter-btn{background:var(--ncsm-primary);color:#fff}
.ncsm-secondary{background:#fff;color:#55707d;border-color:#d4e5ee}
.ncsm-filter-reset{font-size:12px;color:#667d88;text-decoration:none;padding:8px}
.ncsm-result-meta{
 padding:8px 16px;border-bottom:1px solid #eef4f7;background:#fbfdfe;color:#82939b;font-size:10.5px;
 text-transform:uppercase;letter-spacing:.07em;font-weight:700
}

/* Premium list rows */
.ncsm-data-table{padding:4px 20px 10px}
.ncsm-data-table>div.ncsm-data-row{
 grid-template-columns:38px minmax(0,1fr) 145px 130px;
 min-height:58px;padding:9px 0;border-bottom:1px solid #edf3f6;transition:.16s ease
}
.ncsm-data-row.is-hover{background:#fbfdff;box-shadow:-10px 0 0 #fbfdff,10px 0 0 #fbfdff}
.ncsm-data-icon{border-radius:9px}
.ncsm-data-main strong{font-size:14px;font-weight:650}
.ncsm-data-main small{font-size:11px}
.ncsm-date-cell{font-size:12.5px;color:#304c59;font-variant-numeric:tabular-nums}

/* status pills */
.ncsm-pill{
 display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border-radius:999px;
 font-size:9.5px;font-weight:750;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;border:1px solid transparent
}
.ncsm-pill--da_fare{background:#fff6df;color:#976b00;border-color:#f1dda8}
.ncsm-pill--in_lavorazione{background:#eaf4ff;color:#145fa8;border-color:#cfe4f9}
.ncsm-pill--in_attesa{background:#f4efff;color:#6f4ca6;border-color:#e1d5f4}
.ncsm-pill--confermato{background:#eaf8ef;color:#257442;border-color:#ccebd7}
.ncsm-pill--completato,.ncsm-pill--firmato{background:#e9f7f1;color:#1f7350;border-color:#c8eadc}
.ncsm-pill--annullato{background:#f3f4f5;color:#6e7479;border-color:#e1e4e6}
.ncsm-pill--scaduto{background:#fff0ef;color:#a13d36;border-color:#f1d1ce}
.ncsm-pill--da_firmare{background:#fff3e8;color:#a35c15;border-color:#efd8bf}
.ncsm-pill--attivo{background:#edf6ff;color:#2269a7;border-color:#d4e7f8}

/* Client list */
.ncsm-client-table{padding:4px 20px 10px}
.ncsm-client-table>a{min-height:50px}
.ncsm-client-table>a:hover{background:#fbfdff;box-shadow:-10px 0 0 #fbfdff,10px 0 0 #fbfdff}
.ncsm-client-group{border:1px solid #e3edf2;background:#f4f8fa}

/* Calendar */
.ncsm-calendar-demo--full .ncsm-cal-grid{gap:8px}
.ncsm-cal-grid>.ncsm-cal-day{
 appearance:none;border:1px solid transparent;background:var(--ncsm-soft2);border-radius:10px;min-height:58px;
 padding:7px;position:relative;color:var(--ncsm-text);font:inherit;cursor:pointer;transition:.16s ease;text-align:left
}
.ncsm-calendar-demo:not(.ncsm-calendar-demo--full) .ncsm-cal-grid>.ncsm-cal-day{min-height:40px;text-align:center}
.ncsm-cal-day:hover{background:#eef8fe;border-color:#cfe7f5;transform:translateY(-1px);box-shadow:0 6px 14px rgba(26,100,145,.06)}
.ncsm-cal-day em{font-style:normal;font-size:12px}
.ncsm-cal-day small{display:block;margin-top:7px;font-size:10px;color:#5f7985;line-height:1.25;max-width:95%}
.ncsm-cal-day.has-event{background:#eaf6fd;border-color:#cfe8f5}
.ncsm-cal-day.has-event i{
 position:absolute;right:6px;top:6px;width:17px;height:17px;border-radius:50%;background:var(--ncsm-primary);color:#fff;
 font-size:9px;font-style:normal;display:grid;place-items:center
}
.ncsm-cal-empty{background:transparent!important}

/* Modal appointment */
body.ncsm-modal-open{overflow:hidden}
.ncsm-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:20px}
.ncsm-modal.is-open{display:flex}
.ncsm-modal__backdrop{position:absolute;inset:0;background:rgba(16,39,52,.42);backdrop-filter:blur(3px)}
.ncsm-modal__dialog{
 position:relative;z-index:1;width:min(720px,100%);max-height:92vh;overflow:auto;background:#fff;border:1px solid #dbe9f1;
 border-radius:18px;padding:24px;box-shadow:0 30px 90px rgba(16,55,78,.22)
}
.ncsm-modal__close{
 position:absolute;right:14px;top:12px;width:32px;height:32px;border:1px solid #e0eaf0;border-radius:8px;background:#fff;color:#55707d;
 font-size:20px;line-height:1;cursor:pointer
}
.ncsm-modal__head{padding-right:44px;margin-bottom:18px}
.ncsm-modal__head small{font-size:10px;letter-spacing:.12em;color:var(--ncsm-primary);font-weight:800}
.ncsm-modal__head h2{font-size:25px;font-weight:600;margin:4px 0 5px;letter-spacing:-.02em}
.ncsm-modal__head p{margin:0;color:var(--ncsm-muted);font-size:13px}
.ncsm-modal__actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}

/* overall refinement */
.ncsm-top{margin-bottom:20px}
.ncsm-top h1{font-size:31px;font-weight:600}
.ncsm-top p{font-size:13px}
.ncsm-primary{border-radius:9px;box-shadow:0 6px 15px rgba(0,102,204,.12)}
.ncsm-side nav a{border-radius:9px}
.ncsm-logo{font-weight:650}
@media(max-width:900px){
 .ncsm-filters{align-items:stretch}
 .ncsm-search-field{flex-basis:100%}
 .ncsm-data-table>div.ncsm-data-row{grid-template-columns:36px minmax(0,1fr) 120px}
 .ncsm-data-table>div.ncsm-data-row>span:last-child{grid-column:2/4}
}
@media(max-width:620px){
 .ncsm-select-wrap{flex:1 1 calc(50% - 5px)}
 .ncsm-select-wrap select{width:100%;min-width:0}
 .ncsm-data-table>div.ncsm-data-row{grid-template-columns:34px minmax(0,1fr)}
 .ncsm-data-table>div.ncsm-data-row .ncsm-date-cell{grid-column:2}
 .ncsm-data-table>div.ncsm-data-row>span:last-child{grid-column:2}
 .ncsm-modal__dialog{padding:19px 16px;border-radius:14px}
 .ncsm-form-grid{grid-template-columns:1fr}
}


/* ==========================================================
   v0.4.1 — Showroom-inspired appointment manager
   ========================================================== */

/* Calendar takes the whole available content height */
.ncsm-main:has(#ncsm-fullcalendar){
  height:100vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding-bottom:12px;
}
.ncsm-main:has(#ncsm-fullcalendar) .ncsm-top{
  flex:0 0 auto;
  margin-bottom:10px;
}
.ncsm-calendar-workspace{
  flex:1 1 auto;
  min-height:0;
  background:#fff;
  border:1px solid var(--ncsm-line);
  border-radius:16px;
  box-shadow:var(--ncsm-shadow);
  padding:10px 12px 12px;
  display:flex;
  flex-direction:column;
}
.ncsm-calendar-filters{
  display:flex;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
  padding:2px 2px 10px;
}
.ncsm-filter-group{display:grid;gap:4px}
.ncsm-filter-group label{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:#71848e;font-weight:800}
.ncsm-filter-group select{
  height:32px;min-width:160px;border:1px solid #d6e5ed;border-radius:8px;background:#fff;padding:0 28px 0 9px;font-size:11.5px;color:#3d5662
}
.ncsm-calendar-legend{
  margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap
}
.ncsm-type-chip{
  display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 9px;border-radius:999px;border:1px solid #e2edf2;background:#fbfdfe;font-size:10.5px;color:#526873
}
.ncsm-type-chip i{width:7px;height:7px;border-radius:50%}
#ncsm-fullcalendar{flex:1 1 auto;min-height:0}

/* FullCalendar */
.ncsm-calendar-workspace .fc{height:100%;--fc-border-color:#e8eff3;--fc-today-bg-color:#f3f9fd;--fc-page-bg-color:#fff}
.ncsm-calendar-workspace .fc .fc-toolbar.fc-header-toolbar{margin:0 0 8px;gap:8px}
.ncsm-calendar-workspace .fc .fc-toolbar-title{font-size:16px;font-weight:650;letter-spacing:-.01em;color:#15313e;text-transform:capitalize}
.ncsm-calendar-workspace .fc .fc-button{
  background:#fff!important;color:#34515e!important;border:1px solid #d8e7ee!important;box-shadow:none!important;border-radius:7px!important;
  padding:6px 9px!important;font-size:10.5px!important;font-weight:700!important;text-transform:none!important
}
.ncsm-calendar-workspace .fc .fc-button:hover,
.ncsm-calendar-workspace .fc .fc-button-active{background:#edf7fd!important;color:var(--ncsm-primary)!important;border-color:#c6e1f0!important}
.ncsm-calendar-workspace .fc .fc-button-group{gap:4px}
.ncsm-calendar-workspace .fc .fc-col-header-cell-cushion{padding:7px 4px;font-size:10.5px;text-decoration:none;color:#5d717b;font-weight:750;text-transform:uppercase}
.ncsm-calendar-workspace .fc .fc-daygrid-day-number{padding:5px 6px;text-decoration:none;color:#4c626d;font-size:11px}
.ncsm-calendar-workspace .fc .fc-daygrid-day-frame{min-height:72px;padding:3px}
.ncsm-calendar-workspace .fc .fc-daygrid-day-events{margin-top:0}
.ncsm-calendar-workspace .fc .fc-daygrid-event{margin:2px 1px!important;border:0!important;background:transparent!important}
.ncsm-calendar-workspace .fc .fc-timegrid-slot{height:2.35em}
.ncsm-calendar-workspace .fc .fc-timegrid-slot-label-cushion{font-size:10px;color:#7d9099}
.ncsm-calendar-workspace .fc .fc-timegrid-axis-cushion{font-size:10px}
.ncsm-calendar-workspace .fc-event{cursor:pointer}
.ncsm-fc-event{
  width:100%;box-sizing:border-box;border-left:3px solid var(--event-color);background:color-mix(in srgb,var(--event-color) 10%,white);
  border-radius:5px;padding:4px 5px;overflow:hidden;line-height:1.08
}
.ncsm-fc-event__top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.ncsm-fc-event__top span{font-size:8.5px;font-weight:750;color:#536b76}
.ncsm-fc-event__top i{width:6px;height:6px;border-radius:50%;background:var(--event-color)}
.ncsm-fc-event strong{display:block;margin-top:2px;font-size:9.5px;font-weight:700;color:#1e3945;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ncsm-fc-event small{display:block;margin-top:2px;font-size:8.5px;color:#6c818b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Appointments premium list */
.ncsm-appt-list{padding:4px 16px 12px}
.ncsm-appt-row{
  width:100%;appearance:none;border:0;border-bottom:1px solid #edf3f6;background:transparent;
  display:grid;grid-template-columns:5px 52px minmax(240px,1.5fr) 170px 130px 150px 120px 18px;
  gap:12px;align-items:center;padding:10px 0;cursor:pointer;text-align:left;color:inherit;transition:.16s ease
}
.ncsm-appt-row:hover{background:#fbfdff;box-shadow:-10px 0 0 #fbfdff,10px 0 0 #fbfdff}
.ncsm-appt-color{align-self:stretch;background:var(--appt-color);border-radius:999px}
.ncsm-appt-date{text-align:center;display:grid;gap:1px}
.ncsm-appt-date strong{font-size:18px;color:#1d3c4a;line-height:1}
.ncsm-appt-date small{font-size:8.5px;color:#79909a;font-weight:800}
.ncsm-appt-main strong,.ncsm-appt-main small{display:block}
.ncsm-appt-main strong{font-size:13.5px;font-weight:650}
.ncsm-appt-main small{font-size:10.5px;color:#758a94;margin-top:3px}
.ncsm-appt-type,.ncsm-appt-priority{font-size:10.5px;color:#566d77;display:flex;align-items:center;gap:6px}
.ncsm-appt-type i,.ncsm-appt-priority i{width:7px;height:7px;border-radius:50%}
.ncsm-appt-time{font-size:11px;color:#3f5965;font-variant-numeric:tabular-nums}
.ncsm-appt-chevron{font-size:20px;color:#82a0ad}

/* Appointment modal */
.ncsm-appt-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}
.ncsm-appt-modal__backdrop{position:absolute;inset:0;background:rgba(16,39,52,.45);backdrop-filter:blur(3px)}
.ncsm-appt-modal__card{
  position:relative;z-index:1;width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;border:1px solid #dbe9f0;border-radius:18px;
  padding:22px;box-shadow:0 30px 90px rgba(18,53,73,.25)
}
.ncsm-appt-modal__close{
  position:absolute;right:13px;top:12px;width:32px;height:32px;border:1px solid #e0eaf0;border-radius:8px;background:#fff;color:#5d747f;font-size:20px;cursor:pointer
}
.ncsm-appt-modal__head{padding-right:45px;margin-bottom:17px}
.ncsm-appt-modal__head small{font-size:9.5px;letter-spacing:.12em;color:var(--ncsm-primary);font-weight:800}
.ncsm-appt-modal__head h2{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:4px 0}
.ncsm-appt-modal__head p{font-size:12.5px;color:#748891;margin:0}
.ncsm-field-title{display:block;font-size:12px;font-weight:700;color:#546c78;margin-bottom:7px}
.ncsm-type-picker{display:flex;gap:7px;flex-wrap:wrap}
.ncsm-type-option{--type-color:#0066CC;position:relative;cursor:pointer}
.ncsm-type-option input{position:absolute;opacity:0;pointer-events:none}
.ncsm-type-option span{
  height:30px;display:inline-flex;align-items:center;padding:0 10px 0 22px;border:1px solid #dce8ee;border-radius:8px;font-size:10.5px;color:#536873;background:#fff;position:relative
}
.ncsm-type-option span:before{content:"";position:absolute;left:9px;width:7px;height:7px;border-radius:50%;background:var(--type-color)}
.ncsm-type-option.is-active span{border-color:color-mix(in srgb,var(--type-color) 45%,#dce8ee);background:color-mix(in srgb,var(--type-color) 7%,white);color:#203c49}
.ncsm-help{font-size:9.5px;color:#8798a0;margin-top:2px}
.ncsm-appt-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

/* Make calendar view genuinely page-filling */
.ncsm-standalone,.ncsm-app{min-height:100vh}
@media(max-width:1100px){
  .ncsm-calendar-legend{width:100%;justify-content:flex-start;margin-left:0}
  .ncsm-appt-row{grid-template-columns:5px 48px minmax(200px,1fr) 130px 120px}
  .ncsm-appt-type,.ncsm-appt-priority,.ncsm-appt-row>span:nth-last-child(2){display:none}
}
@media(max-width:760px){
  .ncsm-main:has(#ncsm-fullcalendar){height:auto;min-height:100vh;overflow:visible}
  .ncsm-calendar-workspace{min-height:720px}
  .ncsm-calendar-filters{align-items:stretch}
  .ncsm-filter-group{flex:1 1 45%}
  .ncsm-filter-group select{width:100%;min-width:0}
  .ncsm-calendar-workspace .fc .fc-toolbar{flex-wrap:wrap}
  .ncsm-calendar-workspace .fc .fc-toolbar-chunk{display:flex;justify-content:center}
  .ncsm-appt-row{grid-template-columns:4px 46px minmax(0,1fr) 18px}
  .ncsm-appt-time,.ncsm-appt-type,.ncsm-appt-priority,.ncsm-appt-row>span:nth-last-child(2){display:none}
  .ncsm-appt-modal__card{padding:18px 15px;border-radius:14px}
}


/* ==========================================================
   v0.4.2 — real site logo + slimmer sidebar
   ========================================================== */

/* Sidebar width reduced for a denser professional layout */
.ncsm-app{
  grid-template-columns:196px minmax(0,1fr)!important;
}
.ncsm-side{
  width:196px!important;
  padding:16px 12px 12px!important;
  border-right:1px solid #dfeaf0!important;
}

/* Site logo from WordPress / theme */
.ncsm-portal-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:42px;
  padding:0 8px 10px;
  margin-bottom:8px;
  text-decoration:none;
}
.ncsm-portal-logo img{
  display:block;
  max-width:150px!important;
  max-height:38px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  filter:none!important;
}
.ncsm-portal-logo--text{
  color:#12303f;
  font-weight:700;
  font-size:17px;
}

/* Compact navigation */
.ncsm-side nav{
  display:grid;
  gap:0!important;
  border-top:1px solid #edf3f6;
}
.ncsm-side nav a{
  min-height:38px!important;
  padding:0 10px!important;
  gap:9px!important;
  border-radius:0!important;
  border-bottom:1px solid #edf3f6;
  font-size:12px!important;
  color:#49636f!important;
  transition:.16s ease;
}
.ncsm-side nav a:hover{
  background:#f7fbfd!important;
  color:var(--ncsm-primary)!important;
}
.ncsm-side nav a.active{
  background:#eaf6fd!important;
  color:var(--ncsm-primary)!important;
  box-shadow:inset 3px 0 0 var(--ncsm-primary);
}
.ncsm-side nav a .ncsm-ico{
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
}

/* User area tighter and separated */
.ncsm-user{
  padding:12px 8px 0!important;
  margin-top:auto!important;
  border-top:1px solid #dfeaf0!important;
  font-size:11px!important;
  line-height:1.45!important;
}

/* Recover extra horizontal room in main workspace */
.ncsm-main{
  padding-left:28px!important;
  padding-right:28px!important;
}

@media(max-width:900px){
  .ncsm-app{
    grid-template-columns:170px minmax(0,1fr)!important;
  }
  .ncsm-side{
    width:170px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .ncsm-portal-logo img{
    max-width:135px!important;
  }
  .ncsm-side nav a{
    font-size:11.5px!important;
    padding:0 8px!important;
  }
}

@media(max-width:760px){
  .ncsm-app{
    display:block!important;
  }
  .ncsm-side{
    width:auto!important;
    position:relative!important;
    min-height:auto!important;
    border-right:0!important;
    border-bottom:1px solid #dfeaf0!important;
  }
}


/* ==========================================================
   v0.4.3 — compact page headers across the whole portal
   More vertical space for actual management content
   ========================================================== */

/* Main workspace starts higher and wastes less vertical room */
.ncsm-main{
  padding-top:20px!important;
  padding-bottom:28px!important;
}

/* Every internal page header */
.ncsm-top{
  min-height:0!important;
  margin-bottom:12px!important;
  align-items:flex-start!important;
}

/* Eyebrow */
.ncsm-top small{
  font-size:9px!important;
  line-height:1!important;
  letter-spacing:.13em!important;
  font-weight:800!important;
}

/* Page title */
.ncsm-top h1{
  font-size:25px!important;
  line-height:1.05!important;
  font-weight:600!important;
  letter-spacing:-.02em!important;
  margin:5px 0 5px!important;
}

/* Subtitle */
.ncsm-top p{
  max-width:760px!important;
  font-size:11.5px!important;
  line-height:1.35!important;
  margin:0!important;
}

/* Main action buttons in page headers */
.ncsm-top .ncsm-primary{
  min-height:34px!important;
  height:34px!important;
  padding:0 13px!important;
  border-radius:8px!important;
  font-size:11px!important;
  font-weight:700!important;
  box-shadow:0 4px 10px rgba(0,102,204,.10)!important;
  white-space:nowrap!important;
}

/* Dashboard avatar aligned to compact header */
.ncsm-avatar img{
  width:38px!important;
  height:38px!important;
  border-width:2px!important;
}

/* Calendar specifically benefits most from reclaimed height */
.ncsm-main:has(#ncsm-fullcalendar){
  padding-top:18px!important;
  padding-bottom:8px!important;
}
.ncsm-main:has(#ncsm-fullcalendar) .ncsm-top{
  margin-bottom:8px!important;
}
.ncsm-calendar-workspace{
  border-radius:13px!important;
  padding-top:8px!important;
}

/* Lists also move visually upward */
.ncsm-list-shell,
.ncsm-box{
  border-radius:12px!important;
}

/* Mobile stays compact without becoming cramped */
@media(max-width:760px){
  .ncsm-main{
    padding-top:14px!important;
  }
  .ncsm-top{
    margin-bottom:10px!important;
  }
  .ncsm-top h1{
    font-size:22px!important;
  }
  .ncsm-top p{
    font-size:11px!important;
  }
  .ncsm-top .ncsm-primary{
    margin-top:9px!important;
    min-height:32px!important;
    height:32px!important;
    padding:0 11px!important;
  }
}


/* ==========================================================
   v0.4.4 — operator multiselect + priority indicator
   ========================================================== */

.ncsm-filter-group--operators{
  min-width:178px;
}
.ncsm-multiselect{
  position:relative;
  min-width:178px;
}
.ncsm-multiselect__toggle{
  width:100%;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 9px;
  border:1px solid #d6e5ed;
  border-radius:8px;
  background:#fff;
  color:#3d5662;
  font:inherit;
  font-size:11.5px;
  cursor:pointer;
}
.ncsm-multiselect__chevron{
  color:#80939c;
  font-size:13px;
  transform:translateY(-1px);
}
.ncsm-multiselect__panel{
  position:absolute;
  z-index:100;
  left:0;
  top:calc(100% + 5px);
  width:230px;
  max-height:270px;
  overflow:auto;
  padding:6px;
  background:#fff;
  border:1px solid #d9e8ef;
  border-radius:10px;
  box-shadow:0 16px 38px rgba(27,74,99,.14);
}
.ncsm-check-option{
  min-height:32px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 8px;
  border-radius:7px;
  font-size:11px;
  color:#425e69;
  cursor:pointer;
}
.ncsm-check-option:hover{
  background:#f3f9fc;
}
.ncsm-check-option--all{
  border-bottom:1px solid #edf3f6;
  margin-bottom:4px;
  padding-bottom:4px;
  border-radius:0;
}
.ncsm-check-option input{
  appearance:none;
  -webkit-appearance:none;
  width:15px;
  height:15px;
  border:1px solid #b9ced9;
  border-radius:4px;
  display:grid;
  place-items:center;
  background:#fff;
  margin:0;
  cursor:pointer;
}
.ncsm-check-option input:checked{
  background:var(--ncsm-primary);
  border-color:var(--ncsm-primary);
}
.ncsm-check-option input:checked:after{
  content:"✓";
  color:#fff;
  font-size:10px;
  line-height:1;
}

/* Calendar event left border keeps the appointment type.
   The small circle now represents priority, not type. */
.ncsm-fc-event__top i{
  flex:0 0 6px;
  box-shadow:0 0 0 1px rgba(255,255,255,.65);
}


/* ==========================================================
   v0.4.6 — Tasks management
   ========================================================== */
.ncsm-task-list{padding:4px 16px 12px}
.ncsm-task-row{
  width:100%;
  appearance:none;
  border:0;
  border-bottom:1px solid #edf3f6;
  background:transparent;
  display:grid;
  grid-template-columns:6px minmax(280px,1fr) 140px 120px 18px;
  gap:14px;
  align-items:center;
  padding:11px 0;
  cursor:pointer;
  text-align:left;
  color:inherit;
  transition:.16s ease;
}
.ncsm-task-row:hover{
  background:#fbfdff;
  box-shadow:-10px 0 0 #fbfdff,10px 0 0 #fbfdff;
}
.ncsm-task-priority{
  align-self:stretch;
  border-radius:999px;
}
.ncsm-task-main strong,.ncsm-task-main small{display:block}
.ncsm-task-main strong{font-size:13.5px;font-weight:650}
.ncsm-task-main small{font-size:10.5px;color:#758a94;margin-top:3px}
.ncsm-task-due{font-size:11.5px;color:#46606b;font-variant-numeric:tabular-nums}
.ncsm-task-chevron{font-size:20px;color:#82a0ad}

/* Modal */
.ncsm-task-modal{
  position:fixed;inset:0;z-index:100000;
  display:flex;align-items:center;justify-content:center;padding:20px
}
.ncsm-task-modal__backdrop{
  position:absolute;inset:0;background:rgba(16,39,52,.45);backdrop-filter:blur(3px)
}
.ncsm-task-modal__card{
  position:relative;z-index:1;
  width:min(740px,100%);
  max-height:92vh;overflow:auto;
  background:#fff;border:1px solid #dbe9f0;border-radius:18px;
  padding:22px;
  box-shadow:0 30px 90px rgba(18,53,73,.25)
}
.ncsm-task-modal__close{
  position:absolute;right:13px;top:12px;
  width:32px;height:32px;
  border:1px solid #e0eaf0;border-radius:8px;background:#fff;color:#5d747f;
  font-size:20px;cursor:pointer
}
.ncsm-task-modal__head{padding-right:45px;margin-bottom:17px}
.ncsm-task-modal__head small{font-size:9.5px;letter-spacing:.12em;color:var(--ncsm-primary);font-weight:800}
.ncsm-task-modal__head h2{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:4px 0}
.ncsm-task-modal__head p{font-size:12.5px;color:#748891;margin:0}
.ncsm-task-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

@media(max-width:900px){
  .ncsm-task-row{grid-template-columns:6px minmax(220px,1fr) 120px}
  .ncsm-task-row>span:nth-last-child(2),
  .ncsm-task-chevron{display:none}
}
@media(max-width:620px){
  .ncsm-task-row{grid-template-columns:5px minmax(0,1fr)}
  .ncsm-task-due,.ncsm-task-row>span:nth-last-child(2),.ncsm-task-chevron{display:none}
  .ncsm-task-modal__card{padding:18px 15px;border-radius:14px}
}


/* ==========================================================
   v0.4.7 — resources frontend management
   ========================================================== */
.ncsm-resource-list{padding:4px 16px 12px}
.ncsm-resource-row{
  width:100%;appearance:none;border:0;border-bottom:1px solid #edf3f6;background:transparent;
  display:grid;grid-template-columns:36px minmax(280px,1fr) 130px 120px 120px 80px 18px;
  gap:12px;align-items:center;padding:10px 0;cursor:pointer;text-align:left;color:inherit;transition:.16s ease
}
.ncsm-resource-row:hover{background:#fbfdff;box-shadow:-10px 0 0 #fbfdff,10px 0 0 #fbfdff}
.ncsm-resource-icon{width:32px;height:32px;border-radius:9px;background:var(--ncsm-soft);color:var(--ncsm-primary);display:grid;place-items:center}
.ncsm-resource-main strong,.ncsm-resource-main small{display:block}
.ncsm-resource-main strong{font-size:13.5px;font-weight:650}
.ncsm-resource-main small{font-size:10.5px;color:#758a94;margin-top:3px}
.ncsm-resource-priority{display:flex;align-items:center;gap:6px;font-size:10.5px;color:#526b76}
.ncsm-resource-priority i{width:7px;height:7px;border-radius:50%}
.ncsm-resource-date{font-size:11px;color:#48616d;font-variant-numeric:tabular-nums}
.ncsm-resource-file{font-size:10.5px;color:var(--ncsm-primary);text-decoration:none}
.ncsm-resource-chevron{font-size:20px;color:#82a0ad}

.ncsm-resource-modal{
  position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px
}
.ncsm-resource-modal__backdrop{position:absolute;inset:0;background:rgba(16,39,52,.45);backdrop-filter:blur(3px)}
.ncsm-resource-modal__card{
  position:relative;z-index:1;width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;
  border:1px solid #dbe9f0;border-radius:18px;padding:22px;box-shadow:0 30px 90px rgba(18,53,73,.25)
}
.ncsm-resource-modal__close{
  position:absolute;right:13px;top:12px;width:32px;height:32px;border:1px solid #e0eaf0;border-radius:8px;
  background:#fff;color:#5d747f;font-size:20px;cursor:pointer
}
.ncsm-resource-modal__head{padding-right:45px;margin-bottom:17px}
.ncsm-resource-modal__head small{font-size:9.5px;letter-spacing:.12em;color:var(--ncsm-primary);font-weight:800}
.ncsm-resource-modal__head h2{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:4px 0}
.ncsm-resource-modal__head p{font-size:12.5px;color:#748891;margin:0}
.ncsm-resource-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.ncsm-resource-modal input[type=file]{
  border:1px dashed #cfe0e9;background:#f8fbfd;border-radius:9px;padding:11px
}

@media(max-width:1050px){
  .ncsm-resource-row{grid-template-columns:36px minmax(220px,1fr) 110px 110px}
  .ncsm-resource-priority,.ncsm-resource-file,.ncsm-resource-chevron{display:none}
}
@media(max-width:620px){
  .ncsm-resource-row{grid-template-columns:34px minmax(0,1fr)}
  .ncsm-resource-date,.ncsm-resource-row>span:nth-last-child(3){display:none}
  .ncsm-resource-modal__card{padding:18px 15px;border-radius:14px}
}


/* ==========================================================
   v0.4.8 — fixed resource actions + uniform status column
   ========================================================== */

/* All status pills have the same visual width in resource lists */
.ncsm-resource-row .ncsm-pill{
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
  box-sizing:border-box!important;
  justify-content:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Dedicated file/action column */
.ncsm-resource-filecol{
  height:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-left:1px solid #e7eff3;
  padding-left:12px;
}

/* Proper compact button instead of plain text link */
.ncsm-resource-filebtn{
  appearance:none;
  height:28px;
  min-width:58px;
  padding:0 10px;
  border:1px solid #cfe1eb;
  border-radius:7px;
  background:#fff;
  color:var(--ncsm-primary);
  font-size:10.5px;
  font-weight:700;
  cursor:pointer;
  transition:.16s ease;
}
.ncsm-resource-filebtn:hover{
  background:#eef7fd;
  border-color:#b8d7e8;
}
.ncsm-resource-filebtn.is-disabled{
  color:#9cadb5;
  background:#f8fafb;
  cursor:default;
  border-color:#e4ecef;
}

/* clearer column rhythm */
.ncsm-resource-row{
  grid-template-columns:36px minmax(280px,1fr) 130px 120px 116px 86px 18px!important;
}
.ncsm-resource-row > span:nth-child(5){
  display:flex;
  justify-content:center;
}
.ncsm-resource-row > span:nth-child(6){
  align-self:stretch;
}

/* Generic data lists get the same uniform state pill width */
.ncsm-data-row .ncsm-pill,
.ncsm-task-row .ncsm-pill,
.ncsm-appt-row .ncsm-pill{
  min-width:104px!important;
  width:104px!important;
  justify-content:center!important;
}

@media(max-width:1050px){
  .ncsm-resource-row{
    grid-template-columns:36px minmax(220px,1fr) 110px 116px 80px!important;
  }
  .ncsm-resource-priority,
  .ncsm-resource-chevron{
    display:none!important;
  }
}


/* ==========================================================
   v0.4.9 — rebalance document/resource columns
   ========================================================== */

/* Less space to title/client, more breathing room to metadata/action columns */
.ncsm-resource-row{
  grid-template-columns:
    34px
    minmax(340px, 1.55fr)
    115px
    108px
    118px
    92px
    18px!important;
  column-gap:14px!important;
  min-height:54px;
}

/* Prevent the action control from falling onto another line */
.ncsm-resource-filecol{
  min-width:92px!important;
  padding-left:10px!important;
  white-space:nowrap!important;
}
.ncsm-resource-filebtn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  height:28px!important;
  padding:0 8px!important;
  white-space:nowrap!important;
}

/* Keep state/date/action columns visually aligned */
.ncsm-resource-row > span:nth-child(4),
.ncsm-resource-row > span:nth-child(5),
.ncsm-resource-row > span:nth-child(6){
  min-width:0;
}
.ncsm-resource-row > span:nth-child(4){
  text-align:center;
}
.ncsm-resource-row > span:nth-child(5){
  justify-self:center;
}
.ncsm-resource-row > span:nth-child(6){
  justify-self:stretch;
}

/* Slightly narrower primary column typography so long titles stay elegant */
.ncsm-resource-main{
  min-width:0;
}
.ncsm-resource-main strong,
.ncsm-resource-main small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Preserve enough room on medium desktop widths */
@media(max-width:1250px){
  .ncsm-resource-row{
    grid-template-columns:
      34px
      minmax(280px,1.4fr)
      105px
      100px
      112px
      84px
      16px!important;
    column-gap:10px!important;
  }
  .ncsm-resource-filecol{
    min-width:84px!important;
  }
  .ncsm-resource-filebtn{
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
  }
}


/* ==========================================================
   v0.5.1 — definitive resource-list column proportions
   ========================================================== */

/*
  Deliberately cap the title/client area instead of letting it absorb
  all remaining free space. The operational columns now get real room.
*/
.ncsm-resource-row{
  grid-template-columns:
    34px
    minmax(260px, 38%)
    minmax(115px, 1fr)
    minmax(110px, .95fr)
    minmax(122px, 1.05fr)
    minmax(132px, 1.12fr)
    18px!important;
  column-gap:16px!important;
  min-height:56px!important;
}

/* Strong, consistent visual boundary between descriptive and operational data */
.ncsm-resource-row > span:nth-child(3){
  border-left:1px solid #e6eef3!important;
  padding-left:18px!important;
}

/* Priority */
.ncsm-resource-priority{
  justify-content:flex-start!important;
  min-width:0!important;
}

/* Date */
.ncsm-resource-date{
  text-align:center!important;
  min-width:0!important;
  white-space:nowrap!important;
}

/* Status */
.ncsm-resource-row > span:nth-child(5){
  display:flex!important;
  justify-content:center!important;
  min-width:0!important;
}
.ncsm-resource-row .ncsm-pill{
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
}

/* File action gets a proper dedicated column */
.ncsm-resource-filecol{
  min-width:132px!important;
  height:100%!important;
  padding-left:14px!important;
  border-left:1px solid #e6eef3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
.ncsm-resource-filebtn{
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
  height:30px!important;
  padding:0 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:7px!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
  text-decoration:none!important;
}

/* Title/client stays readable, but can no longer dominate the row */
.ncsm-resource-main{
  min-width:0!important;
  max-width:100%!important;
}
.ncsm-resource-main strong,
.ncsm-resource-main small{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Slightly tighter at medium desktop widths, without collapsing metadata */
@media(max-width:1450px){
  .ncsm-resource-row{
    grid-template-columns:
      34px
      minmax(240px, 36%)
      minmax(108px, 1fr)
      minmax(102px, .95fr)
      minmax(116px, 1fr)
      minmax(124px, 1.08fr)
      16px!important;
    column-gap:12px!important;
  }
  .ncsm-resource-row > span:nth-child(3){
    padding-left:14px!important;
  }
  .ncsm-resource-filecol{
    min-width:124px!important;
  }
  .ncsm-resource-filebtn{
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
    font-size:10px!important;
  }
}

@media(max-width:1180px){
  .ncsm-resource-row{
    grid-template-columns:
      32px
      minmax(220px, 1.45fr)
      minmax(100px, .8fr)
      minmax(100px, .8fr)
      minmax(112px, .9fr)
      minmax(112px, .9fr)
      16px!important;
    column-gap:10px!important;
  }
}

/* Existing compact responsive behavior below tablet */
@media(max-width:900px){
  .ncsm-resource-row{
    grid-template-columns:32px minmax(0,1fr) 112px!important;
  }
  .ncsm-resource-priority,
  .ncsm-resource-date,
  .ncsm-resource-filecol,
  .ncsm-resource-chevron{
    display:none!important;
  }
  .ncsm-resource-row > span:nth-child(3){
    border-left:0!important;
    padding-left:0!important;
  }
}
