/* ===================================================
   Add Project – Form UI (Service Oriented)
=================================================== */

.ultra-add-project{
    background:#fff;
    border:1px solid #eee;
    border-radius:16px;
    padding:18px;
}

/* ---------- Title ---------- */
.ultra-add-project-title { 
    font-size:14px !important;
    font-weight:600;
    color:#111827;
    margin:0 0 14px;
}
.ultra-add-project-title::before {
  content: "";
  width: 4px;
  height: 10px;
  border-radius: 2px;
  background-color: var(--primary);
  display: inline-block;
  margin-left: 7px;
  box-shadow: 0px 5px 15px 0px rgba(14, 68, 230, 0.42);
}
/* ---------- Form ---------- */

.ultra-form-group{
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-bottom:18px;
}

.ultra-form-group label{
    font-size:12px;
    font-weight:500;
    color:#111827;
}

.ultra-form-group label span{
    color:#ef4444;
}

.ultra-form-group input,
.ultra-form-group textarea,
.ultra-form-group select{
    padding:12px 14px;
    border-radius:12px;
    border:1px solid #e5e7eb;
    font-family:inherit;
    font-size:12px;
    background:#fff;
}

.ultra-form-group textarea{
    min-height:110px;
    resize:vertical;
}

/* ---------- Grid ---------- */
.ultra-form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}

@media (max-width:640px){
    .ultra-form-grid{
        grid-template-columns:1fr;
    }
}

/* ---------- File Upload ---------- */
.ultra-form-file{
    border:1px dashed #c7d2fe;
    background:#f8fafc;
    border-radius:14px;
    padding:14px;
    font-size:11px;
    color:#374151;
}

.ultra-form-file input[type="file"]{
    border:none;
    padding:0;
    font-size:11px;
}

/* ---------- Submit ---------- */
.ultra-btn-primary{
    margin-top:10px;
    height:46px;
    border-radius:14px;
    background:var(--primary);
    color:#fff;
    border:none;
    font-size:12px;
    cursor:pointer;
    width:100%;
}

/* ---------- Placeholder ---------- */
.ultra-add-project input::placeholder,
.ultra-add-project textarea::placeholder{
    color:#9ca3af;
    font-size:11px;
}

/* ---------- Hint ---------- */
.ultra-form-hint{
    font-size:10px;
    color:#6b7280;
    margin-top:4px;
}


/* ===================================================
   Projects List – Final UI
=================================================== */

/* Header */
.ultra-projects-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:14px;
}

.ultra-projects-title {
  font-size: 14px !important;
  font-weight: 600;
}

.ultra-projects-add{
    background:var(--primary);
    color:#fff;
    font-size:11px;
    padding:8px 16px;
    border-radius:12px;
    text-decoration:none;
}

/* Filter */
.ultra-project-filter{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:12px;
}

.ultra-project-filter select {
  padding: 6px 10px;
  font-size: 10px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  font-family: inherit;
}

.ultra-filter-btn{
    background:#111827;
    color:#fff;
    border:none;
    font-size:11px;
    padding:6px 14px;
    border-radius:8px;
    cursor:pointer;
}

/* List */
.ultra-projects-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.ultra-project-item{
    display:grid;
    grid-template-columns:50px 1fr auto auto auto;
    gap:12px;
    align-items:center;
    padding:14px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
}

/* Index */
.ultra-project-index{
    font-size:11px;
    font-weight:700;
    color:#2563eb;
}

/* Info */
.ultra-project-name{
    font-size:12px;
    font-weight:600;
}

.ultra-project-label{
    font-size:10px;
    color:#6b7280;
}

/* Status */
.ultra-project-status{
    font-size:10px;
    padding:6px 10px;
    border-radius:999px;
    font-weight:600;
}

.status-waiting{background:#f1f5f9;color:#475569;}
.status-progress{background:#fef3c7;color:#92400e;}
.status-done{background:#dcfce7;color:#166534;}
.status-canceled{background:#fee2e2;color:#991b1b;}

/* Badge */
.ultra-project-badge{
    font-size:9px;
    padding:6px 14px;
    border-radius:999px;
}

.ultra-project-badge.replied{
    background:#dcfce7;
    color:#166534;
}

/* View */
.ultra-project-view{
    font-size:10px;
    font-weight:600;
    color:#2563eb;
    text-decoration:none;
}


/* Mobile */
@media(max-width:768px){
    .ultra-project-item{
        grid-template-columns:1fr;
        gap:8px;
    }

    .ultra-project-view{
        text-align:center;
        padding-top:6px;
    }
}

/* ===================================================
   ULTRA PROJECT - Single Detail Page (Premium Look)
=================================================== */

.ultra-project-single {
    max-width: 880px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 22px;
    font-family: inherit;
}

/* ---------- Header ---------- */
.ultra-project-header {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ultra-project-title {
  font-size: 14px !important;
  font-weight: 600;
  margin: 0;
}

.ultra-project-title::before,
.ultra-project-box h4::before,
.ultra-project-chat h4::before {
  content: "";
  width: 4px;
  height: 10px;
  border-radius: 2px;

  background-color: var(--primary);
  display: inline-block;
  margin-left: 7px;
  box-shadow: 0px 5px 15px 0px rgba(14, 68, 230, 0.42);
}

.ultra-project-chat h4 {
  font-size: 14px !important;
  font-weight: 600;
  margin-bottom: 14px;
}

.ultra-project-date {
    font-size: 11px;
    color: #6b7280;
    margin-top: 4px;
}

.ultra-project-status {
    padding: 4px 14px;
    border-radius: 30px;
    font-size: 9px;
    font-weight: 600;
    background: #f3f4f6;
    color: #374151;
}

.status-waiting { background: #f9fafb; color: #6b7280; border: 1px dashed #d1d5db; }
.status-progress { background: #fff7ed; color: #f59e0b; border: 1px dashed #fbbf24; }
.status-done { background: #ecfdf5; color: #059669; border: 1px dashed #34d399; }
.status-canceled { background: #fef2f2; color: #dc2626; border: 1px dashed #f87171; }

/* ---------- Box ---------- */
.ultra-project-box {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #e7e7e7;
    padding: 20px;
}

.ultra-project-box h4 {
  margin: 0 0 14px;
  font-size: 14px !important;
  font-weight: 600;
}

.ultra-project-desc {
    font-size: 12px;
    line-height: 1.9;
    color: #374151;
    margin-bottom: 10px;
}

.ultra-project-meta {
    font-size: 12px !important;
}

.ultra-project-meta a {
    color: #2563eb;
    text-decoration: none;
    font-size: 12px !important;
    font-weight: 600;

}

.ultra-project-file {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    background: #f8fafc;
    border: 1px dashed #c7d2fe;
    border-radius: 12px;
    color: #2563eb;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

/* ---------- Chat ---------- */
.ultra-project-chat {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #eee;
    padding: 18px;
}


.ultra-chat-messages {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 360px;
    overflow-y: auto;
    margin-bottom: 18px;
}

.ultra-chat-msg {
    max-width: 78%;
    position: relative;
}

.ultra-chat-msg.from-user {
    align-self: flex-end;
    text-align: right;
}

.ultra-chat-bubble {
    padding: 10px 14px;
    border-radius: 12px;
    background: #f1f5f9;
    font-size: 13px;
    line-height: 1.8;
    color: #111;
}

.from-user .ultra-chat-bubble {
    background: var(--primary, #2563eb);
    color: #fff;
}

.ultra-chat-bubble a {
    color: inherit;
    font-weight: 600;
    text-decoration: underline;
}

.ultra-chat-time {
    font-size: 10px;
    color: #9ca3af;
    margin-top: 4px;
}

.ultra-chat-empty {
    font-size: 13px;
    color: #6b7280;
}

/* ---------- Form ---------- */
.ultra-form textarea {
    border-radius: 10px;
    border: 1px solid #ddd;
    padding: 10px;
    font-size: 13px;
    min-height: 90px;
    resize: vertical;
}

.ultra-form input[type=file] {
    font-size: 12px;
}

.ultra-btn-primary {
    margin-top: 8px;
    padding: 10px 20px;
    border: none;
    border-radius: 10px;
    background: var(--primary, #2563eb);
    color: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
    .ultra-project-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .ultra-chat-msg {
        max-width: 100%;
    }
}
