﻿*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Segoe UI',sans-serif;background:#FFF9F0}#loginScreen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#2b1810,#0a0705);display:flex;align-items:center;justify-content:center;z-index:9999}.login-box{background:white;padding:40px;border-radius:20px;width:100%;max-width:400px;border-top:5px solid #FF6B6B}#appScreen{display:none}.app-container{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#000;color:#fff;padding:20px 0;height:100vh;position:sticky;top:0;overflow-y:auto;transition:transform 0.25s ease}.mobile-topbar{display:none}.mobile-menu-btn{background:none;border:none;color:#fff;font-size:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer}.logo{text-align:center;padding-bottom:20px;border-bottom:1px solid #333;margin-bottom:20px}.logo h1{font-weight:300;letter-spacing:3px}.logo span{color:#c9a84c}.user-info{background:rgba(255,255,255,0.1);margin:15px;padding:12px;border-radius:8px;border-left:3px solid #c9a84c}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 20px;cursor:pointer;color:#ccc;transition:0.2s}.nav-item i{width:24px;text-align:center}.nav-item:hover,.nav-item.active{background:#222;color:white;border-left:3px solid #c9a84c}.sidebar-divider{border-top:1px solid #333;margin:10px 20px}.main-content{padding:25px;overflow-y:auto}.card-header-custom{background:white;padding:15px 20px;border-radius:12px;margin-bottom:20px;border-left:4px solid #c9a84c;display:flex;justify-content:space-between;align-items:center}#pipelineSection{display:flex;flex-direction:column;height:calc(100vh - 60px)}
#pipelineSection .pipeline-scroll{flex:1;min-height:0}
.pipeline-scroll{display:flex;gap:16px;overflow-x:auto;width:100%;padding-bottom:20px;-webkit-overflow-scrolling:touch;touch-action:pan-x}
.pipeline-col{min-width:280px;flex-shrink:0;background:#f8f9fa;border-radius:16px;padding:12px;border-top:4px solid #c9a84c;display:flex;flex-direction:column}
.col-header{display:flex;justify-content:space-between;font-weight:bold;margin-bottom:12px;flex-shrink:0}
.task-list{flex:1;min-height:0;overflow-y:auto}.task-list::-webkit-scrollbar{width:5px}.task-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.task-card{background:white;padding:12px;border-radius:12px;margin-bottom:8px;border-left:3px solid #c9a84c;cursor:pointer;transition:0.1s}.task-card:hover{transform:translateX(3px);box-shadow:0 2px 6px rgba(0,0,0,0.1)}.task-id{font-size:0.7rem;background:#e9ecef;padding:2px 8px;border-radius:20px;display:inline-block}.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.spec-card{background:white;padding:20px;border-radius:16px;border-left:3px solid #c9a84c}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);z-index:6000;align-items:center;justify-content:center}.modal-container{background:white;border-radius:20px;width:95%;max-width:1100px;max-height:90vh;overflow-y:auto;padding:25px;border-top:5px solid #c9a84c}.modal-header-fixo{position:sticky;top:0;background:white;z-index:50;padding-top:4px;padding-bottom:10px;margin-top:-4px}.modal-header-fixo .btn-close{width:36px;height:36px;flex-shrink:0}.category-box{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;overflow:hidden;background:#fff}.category-header{padding:12px 16px;color:white;font-weight:bold;display:flex;justify-content:space-between;align-items:center;font-size:1.1rem;text-transform:uppercase}.tecido-bg{background:#06B6D4}.aviamento-bg{background:#A78BFA}.servico-bg{background:#84A98C}.instrucao-bg{background:#FB923C}.category-body{padding:16px}.material-table{width:100%;border-collapse:collapse}.material-table th{border-bottom:2px solid #eee;padding:12px 8px;text-align:left;color:#333}.material-table td{border-bottom:1px solid #eee;padding:12px 8px;text-align:left;vertical-align:middle}.measures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:12px}.measure-item{display:flex;flex-direction:column;background:#f8f9fa;padding:10px;border-radius:8px;border-left:3px solid #c9a84c}.measure-item strong{font-size:0.8rem;text-transform:uppercase;color:#555;margin-bottom:5px}.media-gallery{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.media-card{width:160px;border:1px solid #ddd;border-radius:12px;overflow:hidden;cursor:pointer;background:#fff;position:relative}.media-preview{height:120px;background:#000;display:flex;align-items:center;justify-content:center}.media-preview img,.media-preview video{width:100%;height:100%;object-fit:contain}.upload-area{border:2px dashed #aaa;padding:15px;text-align:center;margin-top:12px;cursor:pointer;background:#fafafa;border-radius:12px;transition:0.2s}.upload-area:hover{background:#f0f0f0;border-color:#000}.toast-area{position:fixed;top:20px;right:20px;z-index:9000}.toast-msg{background:white;border-left:4px solid;padding:12px 16px;margin-bottom:10px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,0.15);min-width:260px;animation:slideIn 0.3s ease-out forwards}@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.folder-card{background:white;padding:20px;text-align:center;border-radius:12px;cursor:pointer;transition:0.2s;border:1px solid #ddd}.folder-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px rgba(255,107,107,0.18);border-color:#FF6B6B}.material-item{display:flex;align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid #eee}.material-item:last-child{border-bottom:none}.material-item .item-info{flex:1}.material-item .qty-group{display:flex;align-items:center;gap:5px;margin-left:10px}.material-item .qty-group input{width:70px;text-align:center}.estoque-resumo .local-card{background:white;border-radius:10px;padding:12px 10px;box-shadow:0 1px 4px rgba(0,0,0,0.08);text-align:center;margin-bottom:8px;transition:0.15s;border:2px solid transparent;min-height:95px;display:flex;flex-direction:column;justify-content:center}.estoque-resumo .local-card.ativo{border-color:#c9a84c;background:#fff8e7}.local-card .vao-nome{font-weight:bold;font-size:0.95rem;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.local-card .vao-qtd{font-size:0.72rem;color:#777;margin:4px 0;line-height:1.4}.local-card .vao-valor{font-size:0.9rem;color:#198754;font-weight:bold;margin-top:2px}
.linha-destacada-estoque{animation:destaqueEstoque 1.6s ease-in-out 2}
@keyframes destaqueEstoque{0%,100%{background-color:#fff}50%{background-color:#fff3cd}}

/* --- AGENDA NATIVA MARTU --- */
.cal-header-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; background: #e0e0e0; border: 1px solid #ccc; border-radius: 8px; overflow: hidden; }
.cal-day-title { background: #333; text-align: center; font-weight: bold; padding: 8px; font-size: 0.85rem; color: #fff; text-transform: uppercase; }
.cal-day { background: #fff; min-height: 120px; padding: 5px; display: flex; flex-direction: column; cursor: pointer; transition: 0.15s; }
.cal-day:hover:not(.other-month) { background: #fafafa; box-shadow: inset 0 0 0 2px #eee; }
.cal-day.other-month { cursor: default; }
.cal-day.today { background: #fffdf5; box-shadow: inset 0 0 0 3px #c9a84c; }
.cal-day.other-month { background: #f9f9f9; opacity: 0.6; }
.cal-date-num { font-weight: bold; color: #333; margin-bottom: 5px; text-align: right; font-size: 0.9rem; border-bottom: 1px solid #eee; padding-bottom: 3px; }
.cal-event { font-size: 0.75rem; padding: 5px; margin-bottom: 4px; border-radius: 4px; color: #fff; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: bold; box-shadow: 0 1px 2px rgba(0,0,0,0.1); transition: 0.2s; }
.cal-event:hover { transform: scale(1.02); opacity: 0.9; }

/* TODAS AS PROVAS AGORA SÃO VERMELHAS */
.ev-p1, .ev-p2, .ev-p3, .ev-p4 { background: #dc3545; color: #fff; } 
.ev-entrega { background: #000; color: #fff; } /* Entrega ficou preto para destacar */

        /* Chat Flutuante */
        .floating-chat-btn{position:fixed;bottom:30px;right:30px;width:62px;height:62px;background:linear-gradient(135deg,#000,#2a2a2a);color:#c9a84c;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,0.35);z-index:4000;transition:transform 0.2s,box-shadow 0.2s}.floating-chat-btn:hover{transform:scale(1.08);box-shadow:0 8px 24px rgba(201,168,76,0.4)}.chat-badge{position:absolute;top:-4px;right:-4px;background:#dc3545;color:white;border-radius:50%;font-size:12px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-weight:bold;border:2px solid white;display:none;}
        .floating-chat-panel{position:fixed;bottom:105px;right:30px;width:380px;height:560px;background:#fff;border-radius:18px;box-shadow:0 12px 40px rgba(0,0,0,0.28);z-index:4000;display:none;flex-direction:column;overflow:hidden}
        .floating-chat-header{background:linear-gradient(135deg,#000,#2a2a2a);color:white;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #c9a84c}
        .floating-chat-header .chat-title{font-weight:600;font-size:1.05rem;display:flex;align-items:center;gap:8px}
        .floating-chat-header .close-chat{color:#bbb;cursor:pointer;font-size:22px;transition:0.2s}.floating-chat-header .close-chat:hover{color:#fff}
        .chat-destino-bar{padding:10px 14px;background:#faf8f3;border-bottom:1px solid #ece6d8}
        .chat-destino-bar label{font-size:0.62rem;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:0.5px}
        .chat-destino-bar select{border:1px solid #d8cfb8;border-radius:10px;padding:7px 10px;font-size:0.85rem;width:100%;outline:none;background:#fff}
        .chat-destino-bar select:focus{border-color:#c9a84c}
        .floating-chat-messages{flex:1;overflow-y:auto;padding:16px 14px;background:linear-gradient(180deg,#f7f8fa,#eef0f4)}
        .floating-chat-messages::-webkit-scrollbar{width:6px}.floating-chat-messages::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}
        .floating-chat-input{padding:12px;background:#fff;border-top:1px solid #eee;display:flex;gap:8px;align-items:center}
        .floating-chat-input input[type=text]{flex:1;border:1px solid #ddd;border-radius:22px;padding:11px 16px;outline:none;transition:0.2s;font-size:0.9rem}.floating-chat-input input[type=text]:focus{border-color:#c9a84c;box-shadow:0 0 0 3px rgba(201,168,76,0.12)}
        .chat-attach-btn{background:#f0f0f0;color:#555;border:none;border-radius:50%;width:40px;height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:0.2s;font-size:1rem}.chat-attach-btn:hover{background:#e0e0e0;color:#000}
        .floating-chat-input .send-btn{background:linear-gradient(135deg,#c9a84c,#b8923a);color:#000;border:none;border-radius:50%;width:44px;height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:0.2s;font-size:1rem}.floating-chat-input .send-btn:hover{transform:scale(1.05);box-shadow:0 3px 10px rgba(201,168,76,0.4)}
        .chat-bubble-container{margin-bottom:14px;display:flex;flex-direction:column;animation:bubbleIn 0.25s ease-out}
        @keyframes bubbleIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
        .chat-bubble-info{font-size:0.68rem;color:#888;margin-bottom:3px;padding:0 4px}
        .chat-bubble{display:inline-block;max-width:80%;padding:10px 14px;border-radius:16px;font-size:0.9rem;word-break:break-word;line-height:1.4;box-shadow:0 1px 2px rgba(0,0,0,0.08)}
        .msg-me{align-items:flex-end}.msg-me .chat-bubble{background:linear-gradient(135deg,#000,#2a2a2a);color:#fff;border-bottom-right-radius:5px}
        .msg-other{align-items:flex-start}.msg-other .chat-bubble{background:#fff;color:#222;border-bottom-left-radius:5px;border:1px solid #eee}
        .chat-bubble img.chat-foto{max-width:200px;border-radius:12px;cursor:pointer;display:block;margin-top:2px}
        .chat-bubble .chat-arquivo{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;padding:4px 0}
        .chat-status{font-size:0.62rem;margin-top:3px;padding:0 4px;display:flex;align-items:center;gap:3px}
        .chat-status .visto{color:#4fc3f7}.chat-status .enviado{color:#999}
        .chat-delete{font-size:0.62rem;color:#dc3545;cursor:pointer;margin-top:3px;opacity:0.6;padding:0 4px}.chat-delete:hover{opacity:1}
        .chat-preview-anexo{padding:8px 12px;background:#fff8e7;border-top:1px solid #ece6d8;display:flex;align-items:center;gap:10px;font-size:0.8rem}
        .chat-preview-anexo img{width:40px;height:40px;object-fit:cover;border-radius:8px}
        .chat-preview-anexo .rm{margin-left:auto;color:#dc3545;cursor:pointer}
        @media (max-width:480px){.floating-chat-panel{width:calc(100vw - 20px);height:70vh;right:10px;bottom:90px}.floating-chat-btn{width:56px;height:56px;font-size:22px;bottom:20px;right:20px}}

        /* Barra de progresso upload */
        .upload-progress-bar{height:8px;background:#eee;border-radius:4px;overflow:hidden;margin-top:8px}.upload-progress-bar-inner{height:100%;width:0%;background:#0d6efd;transition:width 0.2s;border-radius:4px}
@media (max-width: 768px) {
            /* Sidebar mobile (drawer) */
            .app-container { grid-template-columns: 1fr; }
            .mobile-topbar { display: flex; align-items: center; gap: 12px; position: fixed; top: 0; left: 0; right: 0; height: 56px; background: #000; border-bottom: 3px solid #c9a84c; z-index: 4500; padding: 0 8px; }
            .mobile-topbar-logo { color: #fff; font-weight: 300; letter-spacing: 3px; font-size: 16px; }
            .sidebar { position: fixed; top: 0; left: 0; width: 260px; max-width: 82vw; z-index: 5000; transform: translateX(-100%); }
            .sidebar.open { transform: translateX(0); }
            .main-content { padding-top: 72px; }
            .nav-item { padding: 14px 20px; }
            #pipelineSection { height: calc(100vh - 132px); }
            .pipeline-scroll { scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 10px; padding-bottom: 12px; }
            .pipeline-col { min-width: 88vw; width: 88vw; padding: 10px; scroll-snap-align: center; }
            .task-list { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; }
            /* Agenda mobile */
            .cal-header-bar { flex-wrap: wrap; gap: 8px; }
            .cal-header-bar > button { flex-shrink: 0; font-size: 0.75rem; padding: 8px 10px; }
            #mesAnoAgenda { flex: 1; text-align: center; font-size: 0.95rem; }
            .cal-header-bar > div { width: 100%; display: flex; gap: 6px; }
            .cal-header-bar > div .btn { flex: 1; font-size: 0.68rem; padding: 8px 2px; white-space: nowrap; }
            .cal-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
            .cal-day-title { padding: 4px 1px; font-size: 0.58rem; }
            .cal-day { min-height: 64px; max-height: 64px; padding: 3px; overflow-y: auto; }
            .cal-date-num { font-size: 0.68rem; margin-bottom: 2px; padding-bottom: 1px; }
            .cal-event { font-size: 0.56rem; padding: 2px 3px; margin-bottom: 2px; }

            .sidebar-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 4999; }
            .sidebar-overlay.active { display: block; }
            /* Cards de tarefa mais fáceis de tocar */
            .task-card { padding: 14px 12px; margin-bottom: 10px; }
            /* Modal ocupa tela toda */
            .modal-container { width: 100%; max-width: 100%; max-height: 100vh; border-radius: 16px 16px 0 0; padding: 20px 16px; position: fixed; bottom: 0; top: auto; }
            .modal-overlay { align-items: flex-end; }
            /* Grid de cards ocupa coluna única */
            .spec-grid { grid-template-columns: 1fr; }
        }
