/*
Theme Name: TS Portal Theme
Theme URI: https://tsagenciademarketing.com.br/
Author: TS Agência de Marketing
Description: Tema dedicado ao Portal de Projetos TS.
Version: 4.0.0
Text Domain: ts-portal
*/

:root{
  --ts-bg:#f4f5f7;
  --ts-surface:#ffffff;
  --ts-ink:#111217;
  --ts-muted:#6c7280;
  --ts-line:#e7e8ec;
  --ts-dark:#101114;
  --ts-dark-2:#181a20;
  --ts-yellow:#fff51f;
  --ts-pink:#ff3f67;
  --ts-green:#159a6a;
  --ts-amber:#f4a826;
  --ts-radius:22px;
  --ts-shadow:0 18px 50px rgba(10,12,18,.08);
  --ts-max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ts-bg);color:var(--ts-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}.ts-shell{min-height:100vh}
.ts-top{background:radial-gradient(circle at 10% 15%,rgba(255,245,31,.13),transparent 28%),radial-gradient(circle at 88% 10%,rgba(255,63,103,.12),transparent 28%),linear-gradient(135deg,var(--ts-dark),var(--ts-dark-2));color:#fff;padding:24px 20px 86px}
.ts-top__inner{max-width:var(--ts-max);margin:0 auto}.ts-brand{display:flex;align-items:center;justify-content:space-between;gap:20px}
.ts-brand__logo{display:inline-flex;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:10px 13px;box-shadow:0 10px 30px rgba(0,0,0,.16)}
.ts-brand__logo img{display:block;width:142px;height:auto}.ts-brand__label{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#d8d9df}
.ts-hero{margin-top:64px;max-width:860px}.ts-kicker{display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:800;color:#e8e9ed;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);border-radius:999px;padding:8px 12px}
.ts-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ts-yellow)}
.ts-hero h1{margin:18px 0 12px;font-size:clamp(34px,6vw,64px);line-height:1.02;letter-spacing:-.045em}.ts-hero p{margin:0;color:#c8cad0;font-size:18px;line-height:1.7;max-width:760px}
.ts-main{max-width:var(--ts-max);margin:-48px auto 0;padding:0 20px 72px}.ts-card{background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:var(--ts-radius);box-shadow:var(--ts-shadow)}
.ts-summary{padding:26px;display:grid;grid-template-columns:1.4fr .8fr;gap:26px;align-items:center}.ts-summary__title{font-size:13px;color:var(--ts-muted);font-weight:800;text-transform:uppercase;letter-spacing:.07em}.ts-stage{margin-top:7px;font-size:24px;font-weight:850;letter-spacing:-.025em}.ts-stage-copy{margin:8px 0 0;color:var(--ts-muted);line-height:1.6}
.ts-progress__row{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;font-weight:800}.ts-progress__bar{height:12px;border-radius:999px;background:#eceef2;overflow:hidden}.ts-progress__bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ts-pink),var(--ts-yellow))}.ts-progress__caption{margin-top:8px;color:var(--ts-muted);font-size:13px;line-height:1.45}
.ts-phase-note{margin:20px 0 0;padding:17px 20px;border-radius:18px;background:#16181d;color:#fff;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ts-phase-note strong{font-size:14px}.ts-phase-note span{font-size:13px;color:#cfd1d7}
.ts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.ts-section{padding:26px}.ts-section-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.ts-section h2{margin:2px 0 0;font-size:22px;letter-spacing:-.025em}.ts-eyebrow{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:900;color:#8b909b}.ts-pill{border-radius:999px;background:#f0f1f4;color:#6c7280;padding:7px 10px;font-size:11px;font-weight:900;white-space:nowrap}.ts-pill.is-done{background:#e6f8f1;color:#087a52}.ts-section p.ts-intro{margin:9px 0 20px;color:var(--ts-muted);line-height:1.6}
.ts-list{display:grid;gap:10px}.ts-task{display:flex;gap:12px;align-items:center;border:1px solid var(--ts-line);border-radius:15px;padding:13px 14px;background:#fff}.ts-task__icon{flex:0 0 auto;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:14px;font-weight:900}.ts-task--concluido .ts-task__icon{background:#e6f8f1;color:var(--ts-green)}.ts-task--aguardando .ts-task__icon{background:#f0f1f4;color:#7a7f8c}.ts-task__body{min-width:0;flex:1}.ts-task__label{font-size:14px;font-weight:800}.ts-task__status{font-size:12px;color:var(--ts-muted);margin-top:2px}
.ts-fill-btn,.ts-mini-action{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;padding:9px 12px;background:var(--ts-dark);color:#fff;text-decoration:none;font-size:12px;font-weight:900;line-height:1;transition:.2s transform,.2s opacity}.ts-fill-btn:hover,.ts-mini-action:hover{transform:translateY(-1px);opacity:.92}.ts-mini-action{background:var(--ts-pink);padding:8px 11px}
.ts-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}.ts-btn{appearance:none;border:0;border-radius:14px;padding:13px 17px;font:inherit;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:.2s transform,.2s box-shadow,.2s opacity}.ts-btn:hover{transform:translateY(-1px)}.ts-btn--primary{background:var(--ts-dark);color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.15)}.ts-btn--accent{background:linear-gradient(90deg,var(--ts-pink),#ff6885);color:#fff}.ts-btn--ghost{background:#f1f2f5;color:var(--ts-ink)}
.ts-service-card{border:1px solid var(--ts-line);border-radius:17px;padding:15px;display:flex;gap:12px;margin-top:10px}.ts-service-card__icon{width:32px;height:32px;flex:0 0 auto;border-radius:10px;background:#f0f1f4;display:grid;place-items:center;font-weight:900;color:#7a7f8c}.ts-service-card.is-ready .ts-service-card__icon{background:#e6f8f1;color:var(--ts-green)}.ts-service-card__body{min-width:0}.ts-service-card__body>strong{font-size:14px}.ts-service-card__body p{margin:5px 0 0;color:var(--ts-muted);font-size:13px;line-height:1.55}.ts-service-name{margin-top:5px;font-size:14px;font-weight:850}.ts-inline-link{display:inline-block;margin-top:9px;font-size:13px;font-weight:850;text-decoration:none;border-bottom:1px solid #b9bcc4}
.ts-note{font-size:13px;color:var(--ts-muted);line-height:1.55}.ts-form-card{margin-top:20px;padding:28px}.ts-form-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.ts-form-head h2,.ts-saved-head h2{margin:4px 0 0;font-size:26px;letter-spacing:-.03em}.ts-form-head p,.ts-saved-head p{margin:7px 0 0;color:var(--ts-muted);line-height:1.6}.ts-alert{border-radius:14px;padding:13px 15px;font-weight:700;margin-bottom:18px;line-height:1.5}.ts-alert--success{background:#e7f8f1;color:#087a52;border:1px solid #c7ecdd}.ts-alert--draft{background:#fff5dc;color:#805500;border:1px solid #f1dfae}
.ts-steps{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 24px;padding:0;list-style:none}.ts-step-dot{border:1px solid var(--ts-line);background:#fff;color:#777d89;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850}.ts-step-dot.is-active{background:var(--ts-dark);border-color:var(--ts-dark);color:#fff}.ts-step-panel{display:none}.ts-step-panel.is-active{display:block}.ts-step-panel h3{font-size:21px;margin:0 0 6px}.ts-step-panel>.ts-note{margin-bottom:18px}.ts-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ts-fields--top{margin-top:22px}.ts-field{display:grid;gap:7px}.ts-field--full{grid-column:1/-1}.ts-field label{font-size:13px;font-weight:850}.ts-field input,.ts-field textarea,.ts-field select{width:100%;border:1px solid #dfe1e6;background:#fff;border-radius:13px;padding:12px 13px;color:var(--ts-ink);font:inherit;outline:none;transition:border .2s,box-shadow .2s}.ts-field textarea{min-height:120px;resize:vertical}.ts-field input:focus,.ts-field textarea:focus,.ts-field select:focus{border-color:#b8bbc4;box-shadow:0 0 0 4px rgba(17,18,23,.06)}
.ts-form-block-heading{grid-column:1/-1;margin-top:8px;padding:20px 20px 18px;border-radius:17px;background:linear-gradient(135deg,#15161a,#202229);color:#fff;border:1px solid rgba(255,255,255,.06)}.ts-form-block-heading>span{display:block;color:var(--ts-yellow);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:900;margin-bottom:6px}.ts-form-block-heading h4{margin:0;font-size:22px;letter-spacing:-.025em}.ts-form-block-heading p{margin:8px 0 0;color:#d3d5da;font-size:13px;line-height:1.65;max-width:900px}.ts-textarea--identity{min-height:190px!important}.ts-field--final{padding:15px;border:1px solid #eee0a8;border-radius:15px;background:#fffaf0}.ts-field--final small{font-size:11px;line-height:1.45;color:#806b31}
.ts-upload-groups{display:grid;gap:12px}.ts-upload-group{border:1.5px dashed #cfd2da;border-radius:16px;padding:17px;background:#fafbfc}.ts-upload-group>label{display:block;font-size:14px;font-weight:900}.ts-upload-group>p{margin:5px 0 12px;color:var(--ts-muted);font-size:12px;line-height:1.5}.ts-file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.ts-file-card{border:1px solid var(--ts-line);background:#fff;border-radius:13px;padding:9px;min-width:0}.ts-file-thumb{display:block;aspect-ratio:16/10;border-radius:9px;overflow:hidden;background:#eee}.ts-file-thumb img{width:100%;height:100%;object-fit:cover;display:block}.ts-file-pdf{height:72px;border-radius:9px;background:#f3f4f6;display:grid;place-items:center;font-size:12px;font-weight:900;text-decoration:none}.ts-file-name{font-size:11px;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-file-name a{text-decoration:none}.ts-remove{display:flex!important;align-items:flex-start;gap:6px;margin-top:7px;font-size:10px!important;color:#8b5050;font-weight:700!important}.ts-remove input{width:auto!important;margin-top:2px}
.ts-section-complete{margin-top:20px;border:1px solid #dcebe5;border-radius:15px;background:#f2faf7;padding:13px 14px;display:flex;align-items:flex-start;gap:11px;cursor:pointer}.ts-section-complete input{margin-top:4px;transform:scale(1.15)}.ts-section-complete span{display:grid;gap:2px}.ts-section-complete strong{font-size:13px}.ts-section-complete small{font-size:11px;color:#648175;line-height:1.4}.ts-form-nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--ts-line)}.ts-savebar{position:sticky;bottom:12px;margin-top:26px;padding:14px 15px;border-radius:17px;background:rgba(16,17,20,.96);color:#fff;box-shadow:0 14px 40px rgba(0,0,0,.20);display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:10;backdrop-filter:blur(8px)}.ts-savebar>div{display:grid;gap:2px}.ts-savebar strong{font-size:13px}.ts-savebar span{font-size:11px;color:#c9cbd1}
.ts-saved-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.ts-last-update{font-size:12px;color:var(--ts-muted);margin:-6px 0 16px}.ts-saved-section{border-top:1px solid var(--ts-line);padding:20px 0}.ts-saved-section:first-of-type{border-top:0}.ts-saved-section__title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.ts-saved-section__title h3{font-size:18px;margin:0}.ts-mini-status{font-size:10px;font-weight:900;border-radius:999px;background:#f0f1f4;color:#7a7f8c;padding:6px 8px;white-space:nowrap}.ts-mini-status.is-done{background:#e6f8f1;color:#087a52}.ts-summary-field{display:grid;grid-template-columns:minmax(150px,.36fr) 1fr;gap:16px;padding:10px 0;border-bottom:1px dashed #eceef2}.ts-summary-field>span{font-size:11px;color:#7e8490;font-weight:850}.ts-summary-field>div{font-size:13px;line-height:1.55}.ts-empty{font-size:13px;color:#9a9ea7;font-style:italic}
.ts-foot{max-width:var(--ts-max);margin:0 auto;padding:0 20px 38px;color:#8a8f9a;font-size:12px;text-align:center}.ts-locked{max-width:620px;margin:12vh auto;background:#fff;border-radius:24px;padding:32px;box-shadow:var(--ts-shadow);text-align:center}.ts-locked h1{font-size:28px;margin:0 0 8px}.ts-locked p{color:var(--ts-muted);line-height:1.7}
@media(max-width:820px){.ts-top{padding-bottom:70px}.ts-hero{margin-top:44px}.ts-summary,.ts-grid{grid-template-columns:1fr}.ts-summary{gap:18px}.ts-fields{grid-template-columns:1fr}.ts-field--full{grid-column:auto}.ts-file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.ts-task{align-items:center}.ts-fill-btn{padding:9px 10px;font-size:11px}.ts-saved-section__title{align-items:center}.ts-mini-action{padding:8px 10px}.ts-brand__label{display:none}.ts-brand__logo img{width:118px}.ts-top{padding:16px 14px 64px}.ts-main{padding-left:12px;padding-right:12px}.ts-section,.ts-summary,.ts-form-card{padding:20px}.ts-hero h1{font-size:37px}.ts-hero p{font-size:16px}.ts-form-head,.ts-saved-head{display:block}.ts-saved-head .ts-btn{width:100%;margin-top:15px}.ts-form-nav{display:flex}.ts-form-nav .ts-btn{flex:1}.ts-savebar{bottom:8px;display:block}.ts-savebar .ts-btn{width:100%;margin-top:10px}.ts-file-grid{grid-template-columns:1fr}.ts-summary-field{grid-template-columns:1fr;gap:4px}.ts-section-heading{align-items:center}}
