:root{
  --mwp-bg:#f5f7fb;
  --mwp-card:#ffffff;
  --mwp-text:#172033;
  --mwp-muted:#68728a;
  --mwp-border:#e3e8f2;
  --mwp-primary:#1e6bff;
  --mwp-primary-dark:#1555cc;
  --mwp-success:#14a06f;
  --mwp-danger:#c93838;
  --mwp-soft:#eef4ff;
  --mwp-shadow:0 18px 45px rgba(22,34,51,.08);
}

body.mwp-portal-app-page{
  background:var(--mwp-bg);
}

.mwp-todo-app,
.mwp-login-card{
  box-sizing:border-box;
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  color:var(--mwp-text);
}

.mwp-todo-app *{box-sizing:border-box}

.mwp-todo-app{
  width:min(1380px, calc(100vw - 28px));
  margin:28px auto;
}

.mwp-login-card{
  width:min(520px, calc(100vw - 28px));
  margin:60px auto;
  background:var(--mwp-card);
  border:1px solid var(--mwp-border);
  border-radius:28px;
  box-shadow:var(--mwp-shadow);
  padding:34px;
}

.mwp-login-card h2{margin:0 0 8px;font-size:30px;line-height:1.1}
.mwp-login-card p{color:var(--mwp-muted);margin:0 0 22px}
.mwp-login-card input[type="text"],
.mwp-login-card input[type="password"]{
  width:100%;
  border:1px solid var(--mwp-border);
  border-radius:14px;
  padding:12px 14px;
}

.mwp-hero{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:30px;
  border-radius:30px;
  background:linear-gradient(135deg,#ffffff 0%,#eef4ff 100%);
  border:1px solid var(--mwp-border);
  box-shadow:var(--mwp-shadow);
  margin-bottom:22px;
}

.mwp-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#dfeaff;
  color:#174ea6;
  font-weight:800;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:7px 11px;
  border-radius:999px;
  margin-bottom:10px;
}

.mwp-hero h1{margin:0 0 8px;font-size:38px;line-height:1.05}
.mwp-hero p{margin:0;color:var(--mwp-muted);max-width:740px;font-size:16px}
.mwp-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

.mwp-alert{
  border-radius:18px;
  padding:14px 16px;
  margin:0 0 18px;
  border:1px solid var(--mwp-border);
  background:#fff;
  font-weight:700;
}
.mwp-alert-success{border-color:#bcebdc;background:#effdf8;color:#07734f}
.mwp-alert-error{border-color:#ffc9c9;background:#fff4f4;color:#a62222}

.mwp-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:18px;
}

.mwp-stat-card,
.mwp-card{
  background:var(--mwp-card);
  border:1px solid var(--mwp-border);
  border-radius:24px;
  box-shadow:0 12px 30px rgba(22,34,51,.055);
}

.mwp-stat-card{padding:20px}
.mwp-stat-card span{display:block;color:var(--mwp-muted);font-weight:700;font-size:13px;margin-bottom:8px}
.mwp-stat-card strong{display:block;font-size:32px;line-height:1;margin-bottom:9px}
.mwp-stat-card small{display:block;color:var(--mwp-muted);font-size:12px}

.mwp-progress{
  height:9px;
  background:#e9eef7;
  border-radius:999px;
  overflow:hidden;
  margin:11px 0 8px;
}
.mwp-progress i{display:block;height:100%;border-radius:999px;background:var(--mwp-success)}
.mwp-progress-muted i{background:#8793a8}

.mwp-grid-2{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:18px;
  margin-bottom:18px;
}

.mwp-card{padding:22px}
.mwp-section-head{margin-bottom:18px}
.mwp-section-head h2{margin:0 0 6px;font-size:22px;line-height:1.15}
.mwp-section-head p{margin:0;color:var(--mwp-muted);font-size:14px}

.mwp-form{display:grid;gap:14px}
.mwp-form label{display:grid;gap:7px;font-weight:700;color:var(--mwp-text);font-size:13px}
.mwp-form label span{color:var(--mwp-muted)}
.mwp-form input,
.mwp-form select,
.mwp-form textarea{
  width:100%;
  border:1px solid var(--mwp-border);
  background:#fff;
  border-radius:14px;
  padding:12px 13px;
  color:var(--mwp-text);
  outline:none;
  font:inherit;
}
.mwp-form textarea{resize:vertical;min-height:92px}
.mwp-form input:focus,
.mwp-form select:focus,
.mwp-form textarea:focus{
  border-color:rgba(30,107,255,.55);
  box-shadow:0 0 0 4px rgba(30,107,255,.10);
}
.mwp-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mwp-search-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:2px}

.mwp-btn,
.mwp-login-card .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid var(--mwp-border);
  background:#fff;
  color:var(--mwp-text);
  border-radius:14px;
  padding:10px 14px;
  min-height:42px;
  text-decoration:none!important;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
  white-space:nowrap;
}
.mwp-btn:hover,
.mwp-login-card .button:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(22,34,51,.08)}
.mwp-btn-primary,
.mwp-login-card .button-primary{
  border-color:var(--mwp-primary);
  background:var(--mwp-primary);
  color:#fff!important;
}
.mwp-btn-primary:hover,
.mwp-login-card .button-primary:hover{background:var(--mwp-primary-dark)}
.mwp-btn-done{background:#ecfff8;border-color:#bcebdc;color:#087652!important}
.mwp-btn-danger{background:#fff1f1;border-color:#ffd0d0;color:var(--mwp-danger)!important}

.mwp-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.mwp-status-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.mwp-status-pills a{
  text-decoration:none!important;
  border:1px solid var(--mwp-border);
  color:var(--mwp-muted);
  background:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-weight:800;
  font-size:13px;
}
.mwp-status-pills a.active{background:var(--mwp-soft);border-color:#c8d9ff;color:#174ea6}

.mwp-task-table-wrap{overflow:auto;border:1px solid var(--mwp-border);border-radius:18px}
.mwp-task-table{width:100%;border-collapse:separate;border-spacing:0;min-width:920px;background:#fff}
.mwp-task-table th,
.mwp-task-table td{padding:15px 14px;border-bottom:1px solid var(--mwp-border);vertical-align:top;text-align:left}
.mwp-task-table th{font-size:12px;color:var(--mwp-muted);text-transform:uppercase;letter-spacing:.04em;background:#f8faff;position:sticky;top:0;z-index:1}
.mwp-task-table tr:last-child td{border-bottom:0}
.mwp-task-table td strong{display:block;font-size:15px;margin-bottom:5px}
.mwp-task-table td p{margin:0 0 8px;color:var(--mwp-muted);font-size:13px;line-height:1.5}
.mwp-task-table small{color:#8a95aa;font-size:12px}
.mwp-task-table .is-completed td{background:#fbfffd}

.mwp-badge,
.mwp-priority{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.mwp-badge-pending{background:#fff7e6;color:#996100;border:1px solid #ffe0a3}
.mwp-badge-completed{background:#eaffe9;color:#08723f;border:1px solid #c2efcb}
.mwp-priority-normal{background:#eef4ff;color:#174ea6;border:1px solid #c8d9ff}
.mwp-priority-high{background:#fff0f0;color:#b12b2b;border:1px solid #ffc9c9}
.mwp-priority-low{background:#f2f5f9;color:#59667b;border:1px solid #e0e6ef}

.mwp-actions{display:flex;gap:8px;flex-wrap:wrap}
.mwp-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:150px;
  border:1px dashed #cfd8e8;
  border-radius:18px;
  color:var(--mwp-muted);
  background:#fbfcff;
  font-weight:700;
}
.mwp-notice{padding:16px;border-radius:16px;background:#fff8e6;border:1px solid #f5d48a;color:#7a5200;margin:20px auto;max-width:720px}

@media (max-width: 980px){
  .mwp-hero{align-items:flex-start;flex-direction:column}
  .mwp-hero-actions{justify-content:flex-start}
  .mwp-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mwp-grid-2{grid-template-columns:1fr}
}

@media (max-width: 720px){
  .mwp-todo-app{width:min(100% - 16px, 100%);margin:14px auto}
  .mwp-hero{padding:22px;border-radius:22px}
  .mwp-hero h1{font-size:30px}
  .mwp-stats-grid{grid-template-columns:1fr}
  .mwp-form-row{grid-template-columns:1fr}
  .mwp-card{padding:16px;border-radius:20px}
  .mwp-list-head{align-items:flex-start;flex-direction:column}
  .mwp-status-pills{justify-content:flex-start}
  .mwp-task-table{min-width:0;border:0}
  .mwp-task-table thead{display:none}
  .mwp-task-table-wrap{border:0;overflow:visible}
  .mwp-task-table,
  .mwp-task-table tbody,
  .mwp-task-table tr,
  .mwp-task-table td{display:block;width:100%}
  .mwp-task-table tr{border:1px solid var(--mwp-border);border-radius:18px;margin-bottom:12px;overflow:hidden;background:#fff}
  .mwp-task-table td{border-bottom:1px solid var(--mwp-border);padding:13px 14px;text-align:left}
  .mwp-task-table td:last-child{border-bottom:0}
  .mwp-task-table td::before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mwp-muted);font-weight:900;margin-bottom:6px}
}

/* v5.1 refinements: make selected linked user visible while preparing the task */
.mwp-form select,
.mwp-form select option{
  color:var(--mwp-text)!important;
  background:#fff!important;
}
.mwp-form select{
  min-height:48px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  appearance:auto;
  -webkit-appearance:auto;
  direction:ltr;
}
.mwp-selected-user-preview{
  display:block;
  margin-top:7px;
  padding:8px 10px;
  border:1px dashed var(--mwp-border);
  border-radius:12px;
  color:var(--mwp-muted);
  background:#fbfcff;
  font-size:12px;
  line-height:1.35;
}
.mwp-selected-user-preview.is-active{
  color:#174ea6;
  border-color:#c8d9ff;
  background:#f3f7ff;
  font-weight:800;
}

/* v5.2 edit mode */
.mwp-card-form.is-editing{
  border-color:#c8d9ff;
  box-shadow:0 18px 45px rgba(37,99,235,.10);
}
.mwp-form-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.mwp-btn-edit{
  background:#eef4ff;
  color:#174ea6;
  border-color:#c8d9ff;
}

/* v5.4 premium card layout for task entry */
.mwp-card-form{
  background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
}
.mwp-card-form .mwp-form{
  gap:16px;
}
.mwp-form-panel{
  position:relative;
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid #dfe7f4;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 24px rgba(22,34,51,.045);
  overflow:hidden;
}
.mwp-form-panel::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,rgba(30,107,255,.8),rgba(20,160,111,.65));
  opacity:.72;
}
.mwp-form-panel-primary{
  background:linear-gradient(135deg,#ffffff 0%,#f3f7ff 100%);
}
.mwp-panel-title{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding-bottom:12px;
  border-bottom:1px solid #edf1f8;
}
.mwp-panel-title strong{
  display:block;
  font-size:15px;
  line-height:1.25;
  color:var(--mwp-text);
}
.mwp-panel-title small{
  display:block;
  margin-top:4px;
  color:var(--mwp-muted);
  font-size:12px;
  line-height:1.45;
  font-weight:600;
}
.mwp-panel-icon{
  flex:0 0 auto;
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#eef4ff;
  color:#174ea6;
  border:1px solid #c8d9ff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
}
.mwp-form-panel label{
  padding:0;
}
.mwp-form-actions-card{
  justify-content:flex-end;
  padding:16px 18px;
  border:1px solid #dfe7f4;
  border-radius:20px;
  background:#ffffff;
  box-shadow:0 10px 24px rgba(22,34,51,.04);
}
.mwp-form-actions-card .mwp-btn-primary{
  min-width:150px;
}
.mwp-card-search{
  background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);
}
.mwp-card-search .mwp-form > label,
.mwp-card-search .mwp-form-row,
.mwp-search-actions{
  padding:14px;
  border:1px solid #e6ecf6;
  border-radius:18px;
  background:#ffffff;
  box-shadow:0 8px 18px rgba(22,34,51,.035);
}
.mwp-task-table-wrap{
  background:#fff;
  box-shadow:0 10px 22px rgba(22,34,51,.035);
}
@media (max-width: 720px){
  .mwp-form-panel{
    padding:15px;
    border-radius:18px;
    gap:12px;
  }
  .mwp-panel-title{
    gap:10px;
  }
  .mwp-panel-icon{
    width:30px;
    height:30px;
    border-radius:10px;
    font-size:11px;
  }
  .mwp-form-actions-card{
    padding:14px;
    align-items:stretch;
  }
  .mwp-form-actions-card .mwp-btn{
    width:100%;
  }
  .mwp-card-search .mwp-form > label,
  .mwp-card-search .mwp-form-row,
  .mwp-search-actions{
    padding:12px;
    border-radius:16px;
  }
}

/* v5.5 colored section frames */
.mwp-section-frame{position:relative;border-width:2px;border-style:solid;overflow:hidden;}
.mwp-section-frame::after{content:"";position:absolute;inset:0 auto 0 0;width:7px;opacity:.95;}
.mwp-frame-stats{display:block;padding:18px;margin-bottom:18px;border-color:#b9d4ff;background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%);}
.mwp-frame-stats::after{background:#2f7df6;}
.mwp-frame-add{border-color:#bfe8d4;background:linear-gradient(180deg,#f8fffb 0%,#ffffff 100%);}
.mwp-frame-add::after{background:#16a66a;}
.mwp-frame-search{border-color:#f3d79a;background:linear-gradient(180deg,#fffdf7 0%,#ffffff 100%);}
.mwp-frame-search::after{background:#d9961c;}
.mwp-frame-tasks{border-color:#d7c6ff;background:linear-gradient(180deg,#fbf9ff 0%,#ffffff 100%);}
.mwp-frame-tasks::after{background:#7c4dff;}
.mwp-section-frame > .mwp-section-head,.mwp-section-frame > form,.mwp-section-frame > .mwp-task-table-wrap,.mwp-section-frame > .mwp-empty,.mwp-section-frame > .mwp-stats-grid{position:relative;z-index:1;}
.mwp-frame-stats .mwp-stats-grid{margin-bottom:0;}
@media (max-width: 720px){.mwp-section-frame::after{width:100%;height:6px;inset:0 0 auto 0;}.mwp-frame-stats{padding:14px;}}
