                .stm-main { max-width:1400px; }
                .stm-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; gap:10px; flex-wrap:wrap; }
                .stm-top-right { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
                .stm-title { margin:0; font-size:30px; color:#334155; font-weight:700; }
                .stm-top-link {
                    display:inline-flex;
                    align-items:center;
                    border:1px solid #bfdbfe;
                    background:#eff6ff;
                    color:#1d4ed8;
                    border-radius:10px;
                    padding:7px 12px;
                    text-decoration:none;
                    font-weight:600;
                    font-size:12px;
                }
                .stm-user-chip {
                    background:#f8fafc;
                    border:1px solid #dbeafe;
                    color:#1e3a8a;
                    border-radius:999px;
                    padding:8px 14px;
                    font-weight:600;
                }
                .stm-points-strong { color:#0f766e; font-weight:700; }

                .stm-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:10px 0 18px; }
                .stm-metric { border-radius:14px; padding:14px; border:1px solid #e2e8f0; position:relative; overflow:hidden; }
                .stm-metric::before {
                    content:"";
                    position:absolute;
                    right:-18px;
                    top:-18px;
                    width:94px;
                    height:94px;
                    border-radius:999px;
                    opacity:.92;
                    pointer-events:none;
                }
                .stm-metric::after {
                    content:"";
                    position:absolute;
                    right:18px;
                    top:18px;
                    width:32px;
                    height:32px;
                    opacity:.72;
                    background-repeat:no-repeat;
                    background-size:contain;
                    pointer-events:none;
                }
                .stm-metric-label { color:#475569; font-size:12px; text-transform:uppercase; letter-spacing:.04em; display:block; margin-bottom:6px; font-weight:600; }
                .stm-metric-value { font-size:30px; font-weight:800; color:#0f172a; line-height:1.1; }
                .stm-metric-icon { display:none; }
                .stm-card-todo { background:#f0f7ff; }
                .stm-card-progress { background:#fff8f1; }
                .stm-card-done { background:#f2fff7; }
                .stm-card-points { background:#f7f5ff; }
                .stm-card-todo::before { background:radial-gradient(circle at 30% 30%, rgba(37,99,235,.18) 0%, rgba(37,99,235,.08) 62%, rgba(37,99,235,0) 100%); }
                .stm-card-progress::before { background:radial-gradient(circle at 30% 30%, rgba(194,65,12,.18) 0%, rgba(194,65,12,.08) 62%, rgba(194,65,12,0) 100%); }
                .stm-card-done::before { background:radial-gradient(circle at 30% 30%, rgba(21,128,61,.18) 0%, rgba(21,128,61,.08) 62%, rgba(21,128,61,0) 100%); }
                .stm-card-points::before { background:radial-gradient(circle at 30% 30%, rgba(109,40,217,.18) 0%, rgba(109,40,217,.08) 62%, rgba(109,40,217,0) 100%); }
                .stm-card-todo::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='4' width='12' height='16' rx='2'/%3E%3Cpath d='M9 2h6v4H9z'/%3E%3Cpath d='M9 10h6M9 14h4'/%3E%3C/svg%3E"); }
                .stm-card-progress::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 10-3 6.7'/%3E%3Cpath d='M21 4v8h-8'/%3E%3C/svg%3E"); }
                .stm-card-done::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.5 12.5l2.2 2.2 4.8-4.8'/%3E%3C/svg%3E"); }
                .stm-card-points::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236d28d9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='2.5'/%3E%3Cpath d='M8.5 20h7l1.2-4.5L12 13l-4.7 2.5z'/%3E%3Cpath d='M6 10l-2 2m14-2l2 2'/%3E%3C/svg%3E"); }
                .stm-admin-quick-actions { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 14px; }
                .stm-admin-quick-actions .stm-btn { min-height:36px; }

                .stm-layout { display:grid; grid-template-columns:1fr; gap:18px; align-items:start; }
                .stm-layout > div:first-child { display:none; }
                .stm-card { background:#fff; border:1px solid #e2e8f0; border-radius:14px; box-shadow:0 1px 2px rgba(15,23,42,.04); }
                .stm-card-header { padding:14px 16px; border-bottom:1px solid #f1f5f9; font-weight:700; color:#334155; }
                .stm-card-body { padding:14px 16px; }
                .stm-form-row { margin-bottom:12px; }
                .stm-form-row label { display:block; margin-bottom:5px; font-weight:600; color:#334155; }
                .stm-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }

                .stm-input,
                .stm-select,
                .stm-textarea,
                .stm-search {
                    width:100%;
                    min-height:38px;
                    border:1px solid #cbd5e1;
                    border-radius:10px;
                    padding:8px 10px;
                    box-sizing:border-box;
                    background:#fff;
                }

                .stm-textarea { min-height:96px; }

                .stm-btn {
                    display:inline-flex;
                    align-items:center;
                    gap:6px;
                    border-radius:10px;
                    padding:7px 12px;
                    text-decoration:none;
                    font-weight:600;
                    font-size:12px;
                    border:1px solid transparent;
                    cursor:pointer;
                }
                .stm-btn-primary { background:#2563eb; color:#fff; }
                .stm-btn-secondary { background:#fff; color:#334155; border-color:#cbd5e1; }
                .stm-btn-edit { background:#eef2ff; color:#3730a3; border-color:#c7d2fe; }
                .stm-btn-status { background:#fff7ed; color:#9a3412; border-color:#fed7aa; }
                .stm-btn-delete { background:#fef2f2; color:#b91c1c; border-color:#fecaca; }
                .stm-btn-view { background:#eff6ff; color:#1d4ed8; border-color:#bfdbfe; }
                .stm-action-group .action-icon {
                    position:relative;
                    width:34px;
                    min-width:34px;
                    height:34px;
                    padding:0;
                    justify-content:center;
                }
                .stm-action-group .action-icon::after {
                    content:attr(data-tip);
                    position:absolute;
                    left:50%;
                    bottom:calc(100% + 6px);
                    transform:translateX(-50%) translateY(4px);
                    background:#0f172a;
                    color:#fff;
                    font-size:11px;
                    line-height:1.2;
                    padding:5px 7px;
                    border-radius:6px;
                    white-space:nowrap;
                    opacity:0;
                    pointer-events:none;
                    transition:all .16s ease;
                    z-index:20;
                }
                .stm-action-group .action-icon:hover::after { opacity:1; transform:translateX(-50%) translateY(0); }

                .stm-filter-row { display:flex; gap:8px; align-items:center; margin-bottom:12px; flex-wrap:nowrap; }
                .stm-filter-row .stm-search { flex:1 1 auto; min-width:240px; }
                .stm-filter-row .stm-select { width:auto; min-width:160px; }
                .stm-filter-row .stm-btn { white-space:nowrap; }

                .stm-badge { display:inline-block; border-radius:999px; padding:3px 9px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
                .stm-badge-todo { background:#eaf2ff; color:#1d4ed8; }
                .stm-badge-progress { background:#fff3e8; color:#c2410c; }
                .stm-badge-done { background:#eafcf1; color:#15803d; }
                .stm-badge-low { background:#f8fafc; color:#475467; }
                .stm-badge-medium { background:#eff8ff; color:#175cd3; }
                .stm-badge-high { background:#fef2f2; color:#b42318; }

                .stm-meta { color:#64748b; font-size:12px; margin-top:4px; }
                .stm-points { color:#0f766e; font-weight:700; }

                .stm-table-wrap { overflow-x:auto; border:1px solid #dbe7f7; border-radius:12px; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.06); }
                .stm-table-wrap table.widefat { border:none; box-shadow:none; border-collapse:collapse; }
                .stm-table-wrap table.widefat thead th {
                    background:#f5f9ff;
                    border-bottom:1px solid #dbe7f7;
                    text-transform:uppercase;
                    letter-spacing:.02em;
                    font-size:12px;
                    color:#334155;
                }
                .stm-table-wrap table.widefat thead th:first-child { border-top-left-radius:12px; }
                .stm-table-wrap table.widefat thead th:last-child { border-top-right-radius:12px; }
                .stm-table-wrap table.widefat td,
                .stm-table-wrap table.widefat th {
                    padding:13px 12px;
                    border-left:none !important;
                    border-right:none !important;
                    box-shadow:none !important;
                }
                .stm-table-wrap table.widefat tbody td { border-bottom:1px solid #edf2fb !important; }
                .stm-table-wrap table.widefat tbody tr:nth-child(even) { background:#fbfdff; }
                .stm-table-wrap table.widefat tbody tr:hover { background:#ecf5ff; }
                .stm-action-group { display:flex; gap:6px; flex-wrap:wrap; }

                .stm-task-cards { display:none; }
                .stm-task-item {
                    border:1px solid #e2e8f0;
                    border-radius:12px;
                    padding:10px;
                    margin-bottom:10px;
                    background:#fff;
                }
                .stm-task-item h4 { margin:0 0 6px 0; font-size:15px; color:#334155; }
                .stm-task-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:13px; color:#475569; margin:8px 0; }
                .stm-k { color:#64748b; font-size:11px; text-transform:uppercase; }
                .stm-pagination { margin-top:10px; display:flex; gap:6px; flex-wrap:wrap; }
                .stm-page-link {
                    display:inline-flex; align-items:center; justify-content:center;
                    min-height:32px; min-width:32px; padding:4px 10px;
                    border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#334155;
                    text-decoration:none; font-size:12px; font-weight:700;
                }
                .stm-page-link.is-active { border-color:#2563eb; background:#eff6ff; color:#1d4ed8; }

                .stm-leader-list { margin:0; padding:0; list-style:none; }
                .stm-leader-item { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #f1f5f9; }
                .stm-medal { font-size:16px; margin-right:6px; }

                dialog#stm-view-dialog {
                    border:none;
                    border-radius:12px;
                    width:min(560px, 92vw);
                    padding:0;
                }
                dialog.stm-admin-dialog {
                    border:none;
                    border-radius:12px;
                    width:min(640px, 94vw);
                    padding:0;
                }
                dialog.stm-admin-dialog::backdrop { background:rgba(15,23,42,.35); }
                #stm-view-dialog::backdrop { background:rgba(15,23,42,.35); }
                .stm-dialog-head { padding:14px 16px; border-bottom:1px solid #e2e8f0; display:flex; justify-content:space-between; align-items:center; }
                .stm-dialog-body { padding:14px 16px; }

                @media (max-width: 1200px) {
                    .stm-layout { grid-template-columns:1fr; }
                    .stm-metrics { grid-template-columns:repeat(2,1fr); }
                }
                @media (max-width: 1024px) {
                    .stm-metrics { grid-template-columns:1fr; }
                    .stm-grid-2 { grid-template-columns:1fr; }
                    .stm-top { margin-bottom:16px; }
                    .stm-top-right { width:100%; justify-content:flex-start; flex-wrap:wrap; overflow:visible; }
                    .stm-user-chip { width:auto; border-radius:999px; flex:0 1 auto; }
                    .stm-filter-row { flex-wrap:wrap; }
                    .stm-filter-row .stm-search { width:100%; min-width:0; }
                    .stm-filter-row .stm-select { width:100%; min-width:0; }
                    .stm-filter-row .stm-btn { width:100%; justify-content:center; }
                    .stm-table-wrap { display:none; }
                    .stm-task-cards { display:block; }
                    .stm-task-item { width:100%; overflow:hidden; }
                    .stm-task-grid { grid-template-columns:1fr; }
                    .stm-action-group { width:100%; display:flex; gap:8px; flex-wrap:wrap; }
                    .stm-action-group .stm-btn { flex:1 1 calc(50% - 8px); justify-content:center; }
                }
                @media (max-width: 460px) {
                    .stm-action-group .stm-btn { flex:1 1 100%; }
                }
