:root{--bg:#f4f6f8;--panel:#fff;--text:#17202a;--muted:#68727d;--line:#e4e8ec;--dark:#18252f;--accent:#d68a2f;--accent2:#b96d17;--shadow:0 7px 26px rgba(23,32,42,.06);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--dark);color:#d8e0e5;padding:22px 14px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 24px}.brandmark{width:39px;height:39px;border:2px solid var(--accent);display:grid;place-items:center;font-weight:900;font-size:21px;transform:rotate(45deg);border-radius:7px}.brandmark::first-letter{transform:rotate(-45deg)}.brand strong{display:block;color:white;font-size:18px}.brand small{display:block;color:#8fa0ad;font-size:11px;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:3px;overflow:auto}.sidebar nav a{padding:9px 12px;border-radius:7px;font-size:13px;color:#b9c5cd}.sidebar nav a:hover,.sidebar nav a.active{background:#263744;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 0 var(--accent)}.version{margin-top:auto;padding:12px;color:#667985;font-size:11px}.shell{margin-left:238px;min-height:100vh}.topbar{height:86px;padding:18px 28px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:5}.topbar h1{font-size:23px;margin:1px 0 0}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--accent2);font-weight:800;margin:0}.top-actions{display:flex;gap:10px;align-items:center}.search{width:230px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#f7f8f9}.button{border:0;border-radius:8px;padding:10px 14px;font-weight:700;font-size:13px;display:inline-block;cursor:pointer}.button.primary{background:var(--dark);color:white}.content{padding:26px 28px 50px;max-width:1500px}.hero{background:linear-gradient(120deg,#fff,#f9fafb);border:1px solid var(--line);border-radius:14px;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow);margin-bottom:18px}.hero h2{margin:3px 0 5px;font-size:28px}.hero p:last-child{color:var(--muted);margin:0}.date-chip{background:var(--dark);color:white;padding:11px 14px;border-radius:9px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.stat span{display:block;font-size:12px;color:var(--muted);margin-bottom:9px}.stat strong{font-size:28px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:19px;box-shadow:var(--shadow);margin-bottom:18px}.panel-head,.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-head{margin-bottom:13px}.panel-head h3,.section-head h2{margin:0}.panel-head a{font-size:12px;color:var(--accent2);font-weight:700}.section-head{margin-bottom:18px}.section-head p{color:var(--muted);margin:5px 0 0}.list{display:flex;flex-direction:column}.list-row{padding:12px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.list-row:first-child{border-top:0}.list-row strong{font-size:13px}.list-row small,td small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.badge{font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px;background:#edf1f4;color:#4f5e68;white-space:nowrap}.badge-blocked,.badge-critical,.badge-high,.badge-at-risk{background:#fde8e8;color:#9d2b2b}.badge-done,.badge-on-track{background:#e8f5eb;color:#216b37}.badge-in-progress,.badge-active{background:#e8effb;color:#315c9c}.badge-upcoming,.badge-medium,.badge-planning{background:#fff2db;color:#946119}.project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.project-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;box-shadow:var(--shadow);transition:.15s}.project-card:hover{transform:translateY(-2px);border-color:#cfd7dd}.card-top,.card-foot,.project-meta{display:flex;gap:9px;align-items:center;justify-content:space-between}.code{font-size:10px;letter-spacing:.12em;font-weight:900;color:var(--accent2)}.project-card h3{margin:14px 0 6px;font-size:17px}.project-card p{color:var(--muted);font-size:12px;line-height:1.5;min-height:36px}.progress{height:5px;background:#edf0f2;border-radius:999px;overflow:hidden;margin:15px 0 8px}.progress i{display:block;height:100%;background:var(--accent)}.card-foot{color:var(--muted);font-size:10px}.timeline-item{display:flex;gap:12px;padding:10px 0}.dot{width:8px;height:8px;background:var(--accent);border-radius:50%;margin-top:5px;flex:0 0 auto}.timeline-item strong{font-size:12px}.timeline-item small{display:block;color:var(--muted);margin-top:3px;font-size:10px}.project-header{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px;display:flex;justify-content:space-between;gap:30px;align-items:center}.project-header h2{margin:5px 0 4px}.project-header p{color:var(--muted);margin:0;max-width:680px}.project-meta{justify-content:flex-end;flex-wrap:wrap;font-size:11px;color:var(--muted)}.tabs{display:flex;gap:2px;overflow:auto;margin:15px 0 18px;border-bottom:1px solid var(--line)}.tabs a{padding:10px 11px;font-size:11px;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent}.tabs a.active{color:var(--text);font-weight:800;border-color:var(--accent)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label{font-size:11px;font-weight:700}.form-grid input,.form-grid textarea,.form-grid select,.inline-status select{width:100%;margin-top:5px;border:1px solid #d8dee3;border-radius:7px;padding:9px;background:#fff}.form-grid textarea{min-height:80px;resize:vertical}.span-2{grid-column:1/-1}.top-gap{margin-top:14px}.form-panel summary{cursor:pointer;font-weight:800}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:9px;border-bottom:1px solid var(--line)}td{padding:11px 9px;border-bottom:1px solid var(--line);font-size:12px}.inline-status select{margin:0;padding:6px;min-width:115px}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:start}.column{background:#edf0f2;border-radius:10px;padding:10px;min-height:260px}.column-title{display:flex;justify-content:space-between;font-size:12px;padding:3px 3px 10px}.column-title span{color:var(--muted)}.task-card{background:#fff;border:1px solid #dde2e6;border-radius:9px;padding:12px;margin-bottom:9px}.task-card strong{display:block;font-size:12px}.task-card small{color:var(--muted);font-size:10px}.task-meta{display:flex;justify-content:space-between;align-items:center;margin:12px 0 9px;font-size:10px;color:var(--muted)}.empty,.muted{color:var(--muted)}@media(max-width:1000px){.sidebar{width:190px}.shell{margin-left:190px}.project-cards{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.kanban{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{position:static;width:auto}.shell{margin:0}.sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}.topbar{position:static;height:auto;align-items:flex-start}.top-actions{flex-direction:column}.search{display:none}.content{padding:15px}.stats,.project-cards,.kanban{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.project-header{align-items:flex-start;flex-direction:column}}
.inline-user{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline-user select{min-width:170px}.version span{opacity:.8}.button{display:inline-block;text-decoration:none}.panel a{color:inherit}

.capacity-warning{border-left:4px solid currentColor}
input[readonly]{opacity:.8}
.form-panel small{display:block;margin-top:6px;opacity:.7}

/* v0.3 Resource Planner */
.planner-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.planner-summary{display:flex;justify-content:space-between;gap:18px;align-items:center}.planner-summary span{color:var(--muted);font-size:12px}.planner-panel{padding:0}.planner-grid-wrap{overflow:auto}.planner-grid{min-width:980px;table-layout:fixed}.planner-grid th,.planner-grid td{vertical-align:top;border-right:1px solid var(--line)}.planner-grid thead th{background:#f8fafb;position:sticky;top:0;z-index:1}.planner-grid thead th small{display:block;margin-top:4px;text-transform:none;letter-spacing:0}.planner-person{width:190px;background:#fafbfc!important;position:sticky;left:0;z-index:2}.planner-person small{display:block;color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;margin-top:5px}.planner-day{min-height:110px;padding:8px!important}.planner-entry{border:1px solid #d9e0e5;border-left:4px solid #7d8b96;border-radius:7px;padding:8px;margin-bottom:6px;background:#fff}.planner-entry b{font-size:11px;line-height:1.35}.planner-entry small{font-size:9px;color:var(--muted);margin-top:4px}.planner-entry a{display:inline-block;font-size:9px;color:var(--accent2);font-weight:800;margin-top:5px}.planner-tentative{border-left-color:#a1aab2;background:#fafafa}.planner-expected{border-left-color:#d68a2f;background:#fffaf2}.planner-confirmed{border-left-color:#315c9c;background:#f7faff}.planner-task-context{font-size:9px;color:var(--muted);border-top:1px dashed var(--line);padding-top:5px;margin-top:5px}.planner-empty{color:#b7c0c7}.planner-flash{border-left:4px solid var(--accent)}.planner-delete{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:700px){.planner-summary{align-items:flex-start;flex-direction:column}.planner-actions{align-items:stretch}.planner-actions .button{flex:1;text-align:center}.planner-person{width:150px}}

/* v0.3.2 Resource Planner layout refinement */
.planner-heading{align-items:flex-start;margin-bottom:14px}.planner-heading>div:first-child{max-width:900px}.planner-summary{padding:15px 18px;margin-bottom:14px}.planner-summary>div{display:flex;flex-direction:column;gap:3px}.planner-summary small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.planner-filters{padding:15px 18px}.planner-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:12px;align-items:end}.planner-filter-grid label,.planner-form-grid label,.planner-copy-form label{font-size:11px;font-weight:700;min-width:0}.planner-filter-grid input,.planner-filter-grid select,.planner-form-grid input,.planner-form-grid select,.planner-form-grid textarea,.planner-copy-form input{width:100%;margin-top:6px;border:1px solid #d8dee3;border-radius:8px;padding:10px 11px;background:#fff;min-height:40px}.planner-filter-actions{display:flex;gap:8px;align-items:center;padding-bottom:1px}.planner-panel{padding:0;overflow:visible}.planner-grid-wrap{overflow-x:auto;overflow-y:visible;border-radius:12px}.planner-grid-transposed{min-width:max(100%,900px);width:max-content;table-layout:fixed}.planner-grid-transposed th,.planner-grid-transposed td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.planner-grid-transposed thead th{position:sticky;top:86px;z-index:4;background:#f8fafb;padding:12px 10px}.planner-date-head{position:sticky!important;left:0;z-index:6!important;width:120px;min-width:120px}.planner-pm-head{width:230px;min-width:230px;max-width:230px;text-transform:none;letter-spacing:0}.planner-pm-head strong{display:block;font-size:12px;color:var(--text);text-transform:none;letter-spacing:0}.planner-pm-head small{display:block;font-size:9px;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0;margin-top:4px;line-height:1.35}.planner-date{position:sticky;left:0;z-index:2;background:#fafbfc!important;width:120px;min-width:120px;padding:10px 12px!important;text-transform:none;letter-spacing:0}.planner-date strong{display:block;font-size:11px;color:var(--text);text-transform:none;letter-spacing:0}.planner-date span{display:block;font-size:11px;color:var(--muted);font-weight:500;margin-top:3px}.planner-grid-transposed .planner-day{width:230px;min-width:230px;max-width:230px;min-height:64px;padding:7px!important;background:#fff}.planner-week-row th{background:#eef2f5!important;color:#4e5b65;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:8px 12px!important;border-right:0}.planner-entry{padding:7px 8px;margin-bottom:5px}.planner-entry-title{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.planner-entry-title b{font-size:11px;line-height:1.35}.planner-entry-title span{font-size:8px;font-weight:800;color:var(--muted);white-space:nowrap;background:#edf1f4;border-radius:999px;padding:3px 5px}.planner-entry small{line-height:1.35}.planner-entry-actions{display:flex;gap:8px;align-items:center;margin-top:4px}.planner-entry-actions a{margin:0}.planner-task-context{margin-top:4px;padding-top:4px}.planner-below{margin-top:18px}.planner-form-panel{padding:22px}.planner-form-panel .panel-head{margin-bottom:18px}.planner-form-panel .panel-head p{margin:5px 0 0}.planner-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 18px;align-items:start}.planner-form-grid label{display:block}.planner-form-grid small{line-height:1.35}.planner-form-grid textarea{min-height:100px;resize:vertical}.planner-span-2{grid-column:span 2}.planner-span-all{grid-column:1/-1}.planner-copy-panel{padding:15px 18px}.planner-copy-form{display:grid;grid-template-columns:minmax(190px,260px) auto 1fr;gap:12px;align-items:end}.planner-copy-form .muted{font-size:11px;align-self:center}.planner-delete{margin-top:18px}.planner-empty{display:block;text-align:center;padding:10px 0}
@media(max-width:1100px){.planner-filter-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.planner-filter-actions{grid-column:1/-1}.planner-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-span-2{grid-column:span 2}.planner-copy-form{grid-template-columns:1fr auto}.planner-copy-form .muted{grid-column:1/-1}.planner-grid-transposed thead th{top:86px}}
@media(max-width:700px){.planner-heading{flex-direction:column}.planner-filter-grid,.planner-form-grid{grid-template-columns:1fr}.planner-filter-actions,.planner-span-2,.planner-span-all{grid-column:auto}.planner-summary{gap:8px}.planner-grid-transposed thead th{top:0}.planner-date-head,.planner-date{width:92px;min-width:92px}.planner-pm-head,.planner-grid-transposed .planner-day{width:205px;min-width:205px;max-width:205px}.planner-copy-form{grid-template-columns:1fr}.planner-copy-form .button{width:100%}}

/* v0.3.3.2 planner quick-entry workflow */
.planner-quick-trigger{width:100%;min-height:42px;border:1px dashed transparent;background:transparent;border-radius:7px;color:#9aa5ad;cursor:pointer;font:inherit}
.planner-quick-trigger:hover,.planner-quick-trigger:focus{border-color:#cfd7dd;background:#f8fafb;color:var(--accent2);outline:none}
.planner-day:focus{outline:2px solid var(--accent);outline-offset:-2px}
.planner-today{background:#fffaf2!important}.planner-today-row .planner-date{box-shadow:inset 4px 0 0 var(--accent)}
.planner-quick-modal{position:fixed;inset:0;background:rgba(18,28,36,.42);z-index:50;display:grid;place-items:center;padding:24px}
.planner-quick-modal[hidden]{display:none}.planner-modal-open{overflow:hidden}
.planner-quick-card{width:min(680px,100%);background:#fff;border-radius:14px;padding:22px;box-shadow:0 18px 60px rgba(0,0,0,.2)}
.planner-quick-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.planner-quick-head h3{margin:0}.planner-quick-head p{margin:4px 0 0}
.planner-quick-close{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:var(--muted)}
.planner-quick-card label{display:block;font-size:11px;font-weight:700}.planner-quick-card input,.planner-quick-card select{width:100%;margin-top:6px;border:1px solid #d8dee3;border-radius:8px;padding:10px 11px;background:#fff;min-height:40px}
.planner-quick-card>form>label>input{font-size:16px;padding:12px}.planner-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
.planner-quick-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0 8px}
@media(max-width:700px){.planner-quick-modal{padding:10px}.planner-quick-card{padding:16px}.planner-quick-grid{grid-template-columns:1fr 1fr}}

/* v0.3.3.2 anchored Quick Add */
.planner-quick-popover{position:absolute;z-index:50;width:min(560px,calc(100vw - 20px))}
.planner-quick-popover[hidden]{display:none}
.planner-quick-popover .planner-quick-card{width:100%;padding:18px;border:1px solid #cfd7dd;box-shadow:0 14px 38px rgba(18,28,36,.22)}
.planner-quick-popover .planner-quick-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:700px){.planner-quick-popover{width:calc(100vw - 20px)}.planner-quick-popover .planner-quick-grid{grid-template-columns:1fr 1fr}}

/* v0.3.3.2 spreadsheet-style planner refinements */
.planner-pm-head{overflow:visible}

.planner-week-row th{border-top:2px solid #cfd7dd!important;border-bottom:1px solid #cfd7dd!important;padding-top:10px!important;padding-bottom:10px!important}
.planner-entry{cursor:default}
.planner-entry-editable{cursor:pointer}
.planner-entry-editable:hover,.planner-entry-editable:focus{box-shadow:0 0 0 2px rgba(214,138,47,.22);outline:none}
.planner-entry-title b{font-size:12px}
.planner-flash{display:flex;align-items:center;justify-content:space-between;gap:14px}
.planner-undo-form{margin:0}
.planner-quick-trigger{font-size:10px;font-weight:700}



/* v0.3.3.5 Quick Add popover reliability fix */
#planner-quick-modal.planner-quick-popover{
  position:fixed!important;
  inset:auto!important;
  z-index:9999!important;
  width:min(560px,calc(100vw - 20px))!important;
  background:transparent!important;
  padding:0!important;
}
#planner-quick-modal.planner-quick-popover[hidden]{display:none!important}
#planner-quick-modal.planner-quick-popover .planner-quick-card{
  display:block!important;
  background:#fff!important;
}

/* v0.3.3.6 Quick Add hardening */
#planner-quick-modal.planner-quick-popover{
  position:fixed!important;
  inset:auto!important;
  z-index:2147483000!important;
}
#planner-quick-modal.planner-quick-popover[hidden]{
  display:none!important;
}

/* v0.3.3.7 server-rendered Quick Add */
.planner-day{position:relative}
.planner-quick-trigger{display:block;text-align:center;text-decoration:none}
.planner-server-popover{
  position:absolute;
  left:8px;
  top:8px;
  z-index:2147483000;
  width:min(540px,calc(100vw - 40px));
  background:#fff;
  border:1px solid #cfd7dd;
  border-radius:12px;
  padding:18px;
  box-shadow:0 14px 38px rgba(18,28,36,.24);
}
.planner-server-popover .planner-quick-head{margin-bottom:14px}
.planner-server-popover .planner-quick-close{text-decoration:none}
.planner-server-popover label{display:block;font-size:11px;font-weight:700}
.planner-server-popover input,.planner-server-popover select{
  width:100%;
  margin-top:6px;
  border:1px solid #d8dee3;
  border-radius:8px;
  padding:10px 11px;
  background:#fff;
  min-height:40px;
}
.planner-server-popover>form>label>input{font-size:16px;padding:12px}
@media(max-width:700px){
  .planner-server-popover{position:fixed;left:10px;right:10px;top:70px;width:auto}
  .planner-server-popover .planner-quick-grid{grid-template-columns:1fr 1fr}
}

/* v0.3.3.8 responsive Resource Planner width */
.planner-panel,
.planner-grid-wrap{
  width:100%;
  max-width:100%;
}
.planner-grid-wrap{
  overflow-x:hidden;
}
.planner-grid{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed;
}
.planner-grid .planner-date{
  width:105px!important;
  min-width:105px!important;
  max-width:105px!important;
}
.planner-grid .planner-pm-head,
.planner-grid .planner-day{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
.planner-grid .planner-pm-head{
  padding-left:6px!important;
  padding-right:6px!important;
  overflow:hidden;
  text-overflow:ellipsis;
}
.planner-grid .planner-pm-head strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.planner-grid .planner-day{
  padding:5px!important;
  overflow:visible;
}
.planner-grid .planner-entry{
  min-width:0;
  overflow:hidden;
}
.planner-grid .planner-entry-title{
  min-width:0;
}
.planner-grid .planner-entry-title b{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.planner-grid .planner-quick-trigger{
  min-width:0;
  width:100%;
  padding-left:3px;
  padding-right:3px;
}
@media(max-width:1100px){
  .planner-grid .planner-date{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
  .planner-grid .planner-pm-head strong{font-size:10px}
  .planner-grid .planner-day{padding:3px!important}
  .planner-grid .planner-entry{padding:5px;margin-bottom:4px}
}

/* v0.3.3.9 clickable planner entries */
.planner-entry-link{
  display:block;
  text-decoration:none;
  color:inherit!important;
  cursor:pointer;
}
.planner-entry-link:hover,
.planner-entry-link:focus{
  box-shadow:0 0 0 2px rgba(214,138,47,.24);
  outline:none;
  transform:translateY(-1px);
}

/* v0.3.4.0 occurrence-level planner editing */
.planner-actions{align-items:center}
.planner-actions .button{white-space:normal}
