/* ST Task Manager - front-end styles */
.stm-wrap{width:100%;max-width:100%;margin:0;font-size:15px;color:#243044}
.stm-login-wrap .stm-card{max-width:520px;margin-left:auto;margin-right:auto}
.stm-card{background:#fff;border:1px solid #e5e9f0;border-radius:12px;padding:22px 24px;margin-bottom:22px;box-shadow:0 1px 3px rgba(20,40,80,.05)}
.stm-card h3{margin:0 0 16px;font-size:20px;color:#1c3a5a}
.stm-wrap label{display:block;font-weight:600;margin-bottom:5px;font-size:13.5px;color:#3a465c}
.stm-wrap input[type=text],.stm-wrap input[type=email],.stm-wrap input[type=number],
.stm-wrap input[type=date],.stm-wrap input[type=password],.stm-wrap select,.stm-wrap textarea{
	width:100%;padding:9px 11px;border:1px solid #cfd6e2;border-radius:8px;font-size:14px;
	box-sizing:border-box;background:#fff;color:#243044}
.stm-wrap input:focus,.stm-wrap select:focus,.stm-wrap textarea:focus{outline:none;border-color:#2c5f8a;box-shadow:0 0 0 3px rgba(44,95,138,.12)}
.stm-field{margin-bottom:15px}
.stm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.stm-req{color:#d33;font-weight:700}
.stm-sep{border:none;border-top:1px solid #eceff4;margin:18px 0}
.stm-muted{color:#8592a6;font-size:12.5px}
.stm-form-actions{margin-top:16px}

/* buttons */
.stm-btn{display:inline-block;padding:9px 16px;border-radius:8px;border:1px solid #cfd6e2;background:#f3f6fa;
	color:#26405e;font-weight:600;text-decoration:none;cursor:pointer;font-size:14px;line-height:1.2}
.stm-btn:hover{background:#e9eff6}
.stm-btn.primary{background:#2c5f8a;border-color:#2c5f8a;color:#fff}
.stm-btn.primary:hover{background:#234c70}

/* choice buttons (button group field) */
.stm-btn-group{display:flex;flex-wrap:wrap;gap:8px}
.stm-choice{padding:8px 14px;border:1px solid #cfd6e2;background:#fff;border-radius:20px;cursor:pointer;font-size:13.5px}
.stm-choice.active{background:#2c5f8a;color:#fff;border-color:#2c5f8a}
.stm-inline{display:inline-flex;align-items:center;gap:6px;font-weight:500;margin:0 14px 6px 0}
.stm-radio-group,.stm-check-group{padding-top:4px}

/* messages */
.stm-form-msg{padding:11px 14px;border-radius:8px;margin-bottom:14px;font-size:14px}
.stm-form-msg.ok{background:#e6f6ec;color:#1a7a3c;border:1px solid #bfe6cd}
.stm-form-msg.err{background:#fdecec;color:#b3261e;border:1px solid #f5c6c6}
.stm-notice{background:#fff8e6;border:1px solid #f0e2b6;color:#7a5c00}

/* board / filters */
.stm-board-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.stm-filter-bar{background:#f7f9fc;border:1px solid #e5e9f0;border-radius:10px;padding:14px;margin:6px 0 16px}
.stm-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.stm-filter-item label{font-size:12px;color:#5c6b82;margin-bottom:3px}
.stm-filter-actions{margin-top:12px}
.stm-export-btns .stm-btn{font-size:13px}

/* table */
.stm-count{font-size:13px;color:#5c6b82;margin-bottom:8px}
.stm-table-scroll{overflow-x:auto;border:1px solid #e5e9f0;border-radius:10px}
.stm-table{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}
.stm-table th{background:#2c5f8a;color:#fff;text-align:left;padding:10px 12px;font-weight:600;white-space:nowrap}
.stm-table td{padding:9px 12px;border-bottom:1px solid #eef2f7;vertical-align:top}
.stm-table tr:nth-child(even) td{background:#f8fafc}
.stm-cell-title strong{display:block}
.stm-cell-desc{display:block;color:#7a8698;font-size:12px;margin-top:2px}
.stm-cell-remark{max-width:220px;color:#4a586e}
.stm-empty{text-align:center;color:#8592a6;padding:22px}
.stm-file-link{text-decoration:none;font-size:15px}
.stm-del-task{text-decoration:none;font-size:15px}

/* badges */
.stm-badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:700;background:#eceff4;color:#4a586e}
.stm-badge.stm-prio{background:#f0ecfb;color:#6a4fb3}
.stm-status-completed{background:#e6f6ec;color:#1a7a3c}
.stm-status-pending{background:#fdf2e0;color:#a9670a}
.stm-status-in-progress{background:#e4f0fb;color:#1f6bb0}
.stm-status-on-hold{background:#f3e6e6;color:#a33}

/* my tasks */
.stm-task-item{border:1px solid #e5e9f0;border-radius:10px;padding:16px 18px;margin-bottom:16px;background:#fdfefe}
.stm-task-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.stm-task-title{margin:4px 0 6px;font-size:17px;color:#1c3a5a}
.stm-task-desc{color:#4a586e;font-size:14px;margin-bottom:8px}
.stm-task-meta{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:13px;color:#4a586e}
.stm-due{font-size:12.5px;color:#8592a6}
.stm-files{margin:10px 0;font-size:13px}
.stm-files ul{margin:6px 0 0 16px}
.stm-loggedin .stm-actions{margin-top:10px}
.stm-login-wrap{max-width:440px}

@media(max-width:640px){.stm-grid-2{grid-template-columns:1fr}}

/* ---------------- Rich text editor ---------------- */
.stm-rte{border:1px solid #cfd6e2;border-radius:8px;overflow:hidden}
.stm-rte-toolbar{display:flex;flex-wrap:wrap;gap:2px;background:#f3f6fa;border-bottom:1px solid #e2e8f0;padding:5px}
.stm-rte-btn{border:1px solid transparent;background:transparent;padding:4px 9px;border-radius:5px;cursor:pointer;font-size:13px;color:#334;line-height:1.2}
.stm-rte-btn:hover{background:#e4ebf4;border-color:#cdd7e4}
.stm-rte-area{min-height:120px;padding:12px 14px;font-size:14px;line-height:1.55;background:#fff;outline:none}
.stm-rte-area:focus{box-shadow:inset 0 0 0 2px rgba(44,95,138,.12)}
.stm-rte-area img{max-width:100%;height:auto;border-radius:6px}
.stm-rte-area h3{margin:.4em 0;font-size:17px}
.stm-rte-area ul,.stm-rte-area ol{margin:.4em 0 .4em 1.4em}

/* ---------------- Full-wide register ---------------- */
.stm-fullwide{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;max-width:100vw}
.stm-register-inner{padding:18px 26px}
.stm-register .stm-board-head{margin-bottom:12px}
.stm-view-note{margin:0 0 10px}
.stm-reg-scroll{overflow-x:auto;border:1px solid #e5e9f0;border-radius:10px;background:#fff}
.stm-reg-table{min-width:100%;font-size:13px}
.stm-reg-table th{position:sticky;top:0}
.stm-reg-table td{padding:5px 7px;vertical-align:top}
.stm-reg-sn{width:46px;text-align:center;color:#5c6b82;font-weight:600}
.stm-reg-actions{width:44px;text-align:center}
.stm-reg-table .stm-cell{width:100%;min-width:110px;padding:6px 7px;border:1px solid transparent;border-radius:5px;font-size:13px;background:#fbfcfe;box-sizing:border-box}
.stm-reg-table textarea.stm-cell{min-width:170px;resize:vertical}
.stm-reg-table .stm-cell:hover{border-color:#dbe3ee}
.stm-reg-table .stm-cell:focus{outline:none;border-color:#2c5f8a;background:#fff;box-shadow:0 0 0 2px rgba(44,95,138,.12)}
.stm-cell.stm-saving{opacity:.6}
.stm-cell.stm-saved{border-color:#1a7a3c!important;background:#eafaf0!important}
.stm-col-del{color:#ffd7d7;text-decoration:none;font-size:11px;margin-left:4px}
.stm-col-del:hover{color:#fff}
.stm-row-del{text-decoration:none;font-size:15px}
.stm-reg-tools{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;padding-top:12px;border-top:1px dashed #e2e8f0}
.stm-reg-add-col-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.stm-reg-add-col-form input,.stm-reg-add-col-form select{padding:7px 9px;border:1px solid #cfd6e2;border-radius:7px;font-size:13px}

/* status dropdown on board */
.stm-status-set{padding:5px 8px;border-radius:16px;border:1px solid #cfd6e2;font-size:12px;font-weight:600;background:#fff}
.stm-status-set.stm-status-completed{background:#e6f6ec;color:#1a7a3c;border-color:#bfe6cd}
.stm-status-set.stm-status-pending{background:#fdf2e0;color:#a9670a;border-color:#f0dcb6}
.stm-status-set.stm-status-in-progress{background:#e4f0fb;color:#1f6bb0;border-color:#c4ddf4}
.stm-status-set.stm-status-on-hold{background:#f3e6e6;color:#a33;border-color:#e6c9c9}

/* ---------------- Task editor modal ---------------- */
.stm-view-task{color:inherit;text-decoration:none;border-bottom:1px dotted #9db4cc;cursor:pointer}
.stm-view-task:hover{color:#2c5f8a;border-bottom-color:#2c5f8a}
.stm-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-start;justify-content:center}
.stm-modal-overlay{position:fixed;inset:0;background:rgba(18,32,54,.55)}
.stm-modal-box{position:relative;z-index:1;background:#fff;border-radius:14px;max-width:720px;width:calc(100% - 32px);
	margin:5vh auto;max-height:90vh;overflow:auto;padding:26px 28px;box-shadow:0 18px 50px rgba(15,30,60,.35)}
.stm-modal-box h3{margin:0 0 14px;font-size:20px;color:#1c3a5a}
.stm-modal-close{position:absolute;top:12px;right:14px;border:none;background:#eef2f7;width:34px;height:34px;
	border-radius:50%;cursor:pointer;font-size:15px;color:#33465e;line-height:1}
.stm-modal-close:hover{background:#dde5ef}
@media(max-width:560px){.stm-modal-box{padding:20px 18px;margin:3vh auto}}

/* ---------------- Notifications & filters ---------------- */
.stm-notify{background:#eef6ff;border:1px solid #c4ddf4;color:#1f5b91;border-radius:10px;padding:12px 15px;margin:4px 0 16px;font-size:14px}
.stm-notify ul{margin:8px 0 0;padding-left:20px}
.stm-notify li{margin:2px 0}
.stm-badge.stm-new{background:#e53935;color:#fff}
.stm-mine-count{margin-left:10px;font-size:13px;color:#5c6b82}
.stm-reg-filter-row th{background:#eef2f8!important;padding:5px 6px}
.stm-reg-filter{width:100%;min-width:90px;padding:5px 7px;border:1px solid #cfd6e2;border-radius:5px;font-size:12px;box-sizing:border-box;background:#fff}
