@import 'tailwindcss';

:root { --ink:#17221e; --muted:#69756f; --line:#dfe6e2; --paper:#fff; --canvas:#f3f6f4; --green:#175f4f; --green-dark:#10483c; }
* { box-sizing:border-box; }
html, body { margin:0; min-height:100%; background:var(--canvas); color:var(--ink); }
button, input { font:inherit; }
button { cursor:pointer; }
.app-shell { display:grid; grid-template-columns:220px minmax(0,1fr); min-height:100vh; font-family:Arial, Helvetica, sans-serif; }
.sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:24px 14px 16px; background:#102b25; color:#dbe9e4; }
.brand { display:flex; align-items:center; gap:11px; padding:0 10px 28px; font-size:16px; font-weight:750; letter-spacing:-.02em; color:#fff; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#d5a23f; color:#183229; font-family:Georgia, serif; font-size:21px; }
.sidebar nav { display:grid; gap:5px; }
.nav-item { display:flex; align-items:center; gap:11px; width:100%; padding:10px 11px; border:0; border-radius:9px; background:transparent; color:#afc4bd; text-align:left; font-size:13px; font-weight:600; }
.nav-item:hover, .nav-item.active { background:#1d4138; color:#fff; }
.nav-glyph { display:grid; place-items:center; width:23px; height:23px; border:1px solid #58756d; border-radius:7px; font-size:10px; }
.nav-item.active .nav-glyph { background:#d5a23f; border-color:#d5a23f; color:#173229; }
.sidebar-bottom { margin-top:auto; }
.profile { display:flex; align-items:center; gap:9px; margin-top:14px; padding:15px 8px 2px; border-top:1px solid #315148; font-size:12px; }
.profile strong, .profile small { display:block; }
.profile small { margin-top:3px; color:#8ca89f; }
.avatar { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#d6e5df; color:#20453b; font-size:11px; font-weight:800; }
.more { margin-left:auto; color:#8ca89f; }
.main-content { min-width:0; padding:30px 34px 38px; overflow:hidden; }
.topbar { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.eyebrow { margin:0 0 6px; color:#77817d; font-size:10px; font-weight:800; letter-spacing:.14em; }
h1 { margin:0; font-family:Georgia, 'Times New Roman', serif; font-size:32px; font-weight:600; letter-spacing:-.035em; }
.top-actions { display:flex; align-items:center; gap:9px; }
.primary-button, .secondary-button, .filter-button, .plain-button, .icon-button { height:39px; border-radius:9px; font-size:12px; font-weight:700; }
.primary-button { display:flex; align-items:center; gap:7px; padding:0 15px; border:1px solid var(--green); background:var(--green); color:#fff; box-shadow:0 5px 14px rgb(23 95 79 / 18%); }
.primary-button:hover { background:var(--green-dark); }
.secondary-button, .filter-button { padding:0 13px; border:1px solid var(--line); background:#fff; color:#33433d; }
.icon-button { width:39px; border:1px solid var(--line); background:#fff; color:var(--green); }
.summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:26px; }
.summary-card { position:relative; padding:16px 18px; border:1px solid var(--line); border-radius:13px; background:var(--paper); box-shadow:0 5px 18px rgb(20 54 45 / 4%); }
.summary-card.featured { background:#e7f1ed; border-color:#c8ded6; }
.summary-card p { margin:0 0 9px; color:var(--muted); font-size:11px; font-weight:700; }
.summary-card strong { display:inline-block; margin-right:9px; font-family:Georgia, serif; font-size:25px; }
.summary-card span { color:#47806f; font-size:10px; font-weight:700; }
.summary-card span.warm { color:#b06f26; }
.toolbar { display:flex; align-items:center; gap:9px; margin:25px 0 14px; }
.view-tabs { display:flex; padding:3px; border:1px solid var(--line); border-radius:9px; background:#e9eeeb; }
.view-tabs button { height:31px; padding:0 13px; border:0; border-radius:6px; background:transparent; color:#78847f; font-size:11px; font-weight:700; }
.view-tabs button.selected { background:#fff; color:#24372f; box-shadow:0 1px 5px rgb(0 0 0 / 9%); }
.search { display:flex; align-items:center; gap:7px; width:min(360px,30vw); height:39px; margin-left:5px; padding:0 12px; border:1px solid var(--line); border-radius:9px; background:#fff; color:#8a958f; }
.search input { width:100%; border:0; outline:0; color:#31423b; font-size:11px; }
.filter-count { display:inline-grid; place-items:center; min-width:18px; height:18px; margin-left:5px; border-radius:9px; background:#dceae5; color:#1f6755; }
.plain-button { padding:0 7px; border:0; background:transparent; color:#64746d; }
.kanban { display:grid; grid-template-columns:repeat(4,minmax(245px,1fr)); gap:12px; overflow-x:auto; padding-bottom:18px; }
.kanban-column { min-height:430px; padding:13px; border:1px solid #e2e8e5; border-radius:13px; background:#eaf0ed; }
.kanban-column>header { display:flex; align-items:center; gap:8px; padding:2px 2px 12px; }
.kanban-column h2 { margin:0; font-size:12px; font-weight:800; }
.stage-dot { width:7px; height:7px; border-radius:50%; }
.count { display:grid; place-items:center; min-width:21px; height:20px; padding:0 5px; border-radius:10px; background:#d9e2de; color:#52635c; font-size:10px; font-weight:800; }
.kanban-column>header button { margin-left:auto; border:0; background:transparent; color:#89958f; }
.lead-stack { display:grid; gap:9px; }
.lead-card { padding:13px; border:1px solid #dce4e0; border-radius:10px; background:#fff; box-shadow:0 3px 10px rgb(33 59 50 / 5%); }
.lead-heading { display:flex; align-items:center; gap:9px; }
.lead-avatar { display:grid; place-items:center; width:31px; height:31px; flex:none; border-radius:9px; background:#e5eee9; color:#2c6254; font-size:9px; font-weight:800; }
.lead-heading strong, .lead-heading small { display:block; }
.lead-heading strong { font-size:11px; }
.lead-heading small { margin-top:3px; color:#7d8984; font-size:9px; }
.phone { margin:13px 0 10px; padding:8px 9px; border-radius:7px; background:#f5f7f6; color:#364740; font-size:10px; font-weight:700; letter-spacing:.015em; }
.lead-meta { display:flex; align-items:center; justify-content:space-between; color:#89948f; font-size:9px; }
.lead-meta span { padding:4px 6px; border-radius:6px; background:#eef3f1; color:#52675e; font-weight:700; }
.add-card { width:100%; margin-top:10px; padding:9px; border:1px dashed #c4d0cb; border-radius:8px; background:transparent; color:#66766f; font-size:10px; font-weight:700; }
@media (max-width:900px) { .app-shell{grid-template-columns:72px minmax(0,1fr)} .sidebar{padding-inline:9px}.brand span:last-child,.nav-item:not(.active){font-size:0}.nav-item{justify-content:center;padding-inline:5px}.nav-item.active{font-size:0}.brand{padding-inline:9px}.profile span:not(.avatar),.sidebar-bottom>.nav-item{display:none}.summary-grid{grid-template-columns:repeat(2,1fr)}.topbar{align-items:flex-start}.secondary-button{display:none} }
@media (max-width:640px) { .app-shell{display:block}.sidebar{position:fixed;z-index:10;right:0;left:0;bottom:0;top:auto;width:auto;height:64px;flex-direction:row;padding:7px 10px}.brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;width:100%;justify-content:space-around}.nav-item,.nav-item.active{width:auto;font-size:0;background:transparent}.main-content{padding:22px 16px 85px}.topbar{align-items:flex-end}.icon-button,.secondary-button{display:none}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.summary-card{padding:13px}.toolbar{overflow-x:auto}.search{min-width:230px}.kanban{grid-template-columns:repeat(4,255px)}h1{font-size:28px} }
.stage-select{width:100%;height:31px;margin-top:10px;padding:0 7px;border:1px solid #dfe6e2;border-radius:7px;background:#fff;color:#52635c;font-size:9px}.login-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 20%,#285e50,#102b25 58%)}.login-card{width:min(420px,100%);padding:34px;border-radius:20px;background:#fff;box-shadow:0 30px 80px #0005}.login-brand{padding:0 0 34px;color:#17221e}.login-card h2{margin:0;font:600 29px Georgia;color:#17221e}.login-copy{margin:9px 0 24px;color:#69756f;font:13px/1.5 Arial}.login-card form{display:grid;gap:14px}.login-button{width:100%;justify-content:center;margin-top:6px}.form-error{min-height:15px;margin:0;color:#a23d35;font:700 11px Arial}.agenda-view{display:block}.agenda-head{display:flex;align-items:end;justify-content:space-between;margin:28px 0 14px}.agenda-head h2{margin:0;font:600 25px Georgia}.agenda-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;overflow-x:auto}.day-card{min-height:330px;padding:12px;border:1px solid #dfe6e2;border-radius:13px;background:#fff}.day-card>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #e8ecea}.day-card>header strong{color:#69756f;font-size:10px;text-transform:uppercase}.day-card>header span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#e7f1ed;color:#175f4f;font:800 11px Arial}.event-card{display:grid;gap:4px;margin-top:10px;padding:10px;border-left:3px solid #3b6ea8;border-radius:8px;background:#f3f6f4}.event-card.reuniao{border-color:#7c5a9f}.event-card.retorno{border-color:#d59b2d}.event-card.tarefa{border-color:#1f6f5c}.event-card time{color:#69756f;font-size:9px}.event-card strong{font-size:10px}.event-card small{color:#7d8984;font-size:9px}.empty-day{margin-top:18px;color:#9aa49f;font-size:10px;text-align:center}

.ticket-summary{display:grid;grid-template-columns:repeat(3,minmax(0,180px));gap:14px;margin-bottom:18px}
.ticket-summary article{background:#fff;border:1px solid #e4e8e6;border-radius:14px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between}
.ticket-summary span{color:#68746f;font-size:.82rem}.ticket-summary strong{font-size:1.5rem;color:#173e35}
.ticket-table td{vertical-align:middle}.ticket-table td:nth-child(3){max-width:360px}
.ticket-channel{display:block;color:#2a806b;margin-top:3px}.ticket-message{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#53615c}
.ticket-message.incoming{color:#12624f;font-weight:600}.ticket-status{border:1px solid #cad7d2;border-radius:999px;padding:7px 30px 7px 11px;background:#f5f8f7;color:#33443e}
.ticket-status.open{background:#e7f5ef;color:#14654f}.ticket-status.pending{background:#fff4dc;color:#8a5b00}.ticket-status.closed{background:#eef0ef;color:#68716e}
@media(max-width:760px){.ticket-summary{grid-template-columns:1fr}.ticket-table td:nth-child(3){max-width:220px}}
