:root{--navy:#252c60;--blue:#155d97;--sky:#1a88bf;--teal:#19a1ac;--green:#4fac63;--lime:#81ba4b;--ink:#161f36;--mut:#5b6b80;--line:#e3e9f1;--bg:#f3f6fa;--card:#fff;--r:16px;--sh:0 1px 2px rgba(22,31,54,.04),0 8px 24px rgba(22,31,54,.06)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body.cp{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
.cp-wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.muted{color:var(--mut)}.small{font-size:13px}.pre{white-space:pre-wrap;margin:.4em 0}
.cp-top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.cp-top::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--navy),var(--blue),var(--sky),var(--teal),var(--green),var(--lime))}
.cp-top-in{display:flex;align-items:center;gap:16px;height:60px}.cp-brand img{height:34px;display:block}
.cp-nav{display:none;gap:4px;margin-left:auto}.cp-nav a{padding:8px 14px;border-radius:10px;color:var(--mut);font-weight:600;font-size:14px}
.cp-nav a:hover{background:var(--bg);text-decoration:none}.cp-nav a.on{color:var(--navy);background:#e8eef7}
.dot{display:inline-block;font-style:normal;background:var(--green);color:#fff;border-radius:99px;font-size:11px;font-weight:700;padding:1px 7px;margin-left:4px;vertical-align:middle}
.cp-user{margin-left:auto;position:relative}.cp-user summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px}.cp-user summary::-webkit-details-marker{display:none}
.av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;display:grid;place-items:center;font-weight:700}.un{display:none;font-weight:600}
.cp-user .menu{position:absolute;right:0;top:44px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh);padding:12px;min-width:220px;display:flex;flex-direction:column;gap:6px}
.cp-user .menu small{color:var(--mut);margin-bottom:6px}.cp-user .menu button{background:none;border:0;color:#b42318;font:inherit;padding:0;cursor:pointer;text-align:left}
.cp-main{padding-top:20px;padding-bottom:24px}
.cp-tabs{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);display:flex;padding-bottom:env(safe-area-inset-bottom);z-index:30}
.cp-tabs a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 0 8px;font-size:11px;font-weight:600;color:var(--mut)}
.cp-tabs a i{font-style:normal;font-size:20px;line-height:1;position:relative}.cp-tabs a i .dot{position:absolute;top:-6px;right:-14px;font-size:10px;padding:0 5px}
.cp-tabs a.on{color:var(--blue)}.cp-tabs a:hover{text-decoration:none}
.cp-foot{color:var(--mut);font-size:12px;text-align:center;padding:16px}
.cp-flash{padding:12px 14px;border-radius:12px;margin-bottom:14px;background:#e8f1fb;color:var(--navy);font-size:14px}
.cp-flash.ok{background:#e8f6ec;color:#226b35}.cp-flash.error{background:#fdecea;color:#912018}.cp-flash.warn{background:#fff6e0;color:#7a5200}
.cp-card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);padding:18px;margin-bottom:16px}
.cp-card h2,.cp-h2{font-size:16px;margin:0 0 12px;color:var(--navy)}.cp-h2{margin:22px 0 12px}
.cp-card-h{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.cp-card-h h2{margin:0}.cp-card-h a{font-size:13px;font-weight:600}
.cp-h1{font-size:24px;margin:4px 0 16px;color:var(--navy);letter-spacing:-.02em}.cp-h1.sm{font-size:20px;margin:8px 0 4px}
.cp-empty{color:var(--mut);text-align:center;padding:18px 8px}
.cp-hero{background:radial-gradient(circle at 90% 0,rgba(129,186,75,.35),transparent 45%),linear-gradient(135deg,var(--navy),var(--blue) 60%,var(--teal));color:#fff;border-radius:20px;padding:24px 20px;box-shadow:var(--sh)}
.cp-hero h1{margin:2px 0 4px;font-size:26px;letter-spacing:-.02em}.cp-hero p{margin:0 0 16px;opacity:.9}.cp-hero .kick{font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.8;margin:0;font-weight:700}
.cp-btn{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:12px;padding:12px 18px;font:600 15px Inter,sans-serif;cursor:pointer;text-align:center}
.cp-btn:hover{background:var(--navy);text-decoration:none}.cp-btn.light{background:#fff;color:var(--navy)}.cp-btn.full{width:100%}
.cp-projs{display:grid;gap:12px;margin-bottom:16px}
.cp-proj{display:block;background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:16px;color:var(--ink);border:1px solid transparent;transition:.15s}
.cp-proj:hover{border-color:var(--sky);text-decoration:none;transform:translateY(-1px)}
.cp-proj-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.cp-proj-h b{font-size:16px}
.ring-row{display:flex;align-items:center;gap:10px;margin:12px 0 8px}.pct{color:var(--navy);min-width:40px;text-align:right}
.pbar{flex:1;height:8px;background:#e6edf5;border-radius:99px;overflow:hidden}.pbar span{display:block;height:100%;background:linear-gradient(90deg,var(--sky),var(--teal),var(--green));border-radius:99px}
.cp-meta{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--mut);flex-wrap:wrap}.go{color:var(--blue);font-weight:600}.amt{color:var(--navy)}
.st,.sb,.chip{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;background:#eef2f7;color:var(--mut);white-space:nowrap}
.st-en-desarrollo,.st-en-progreso,.s-en-progreso{background:#e3f1fb;color:var(--blue)}.st-entregado,.s-resuelta,.sb.ok{background:#e8f6ec;color:#226b35}
.st-pausado,.s-en-revisión,.sb.warn{background:#fff3d6;color:#8a5a00}.s-nueva{background:#ece9fb;color:#4b3fa8}.s-rechazada{background:#fdecea;color:#912018}.st-propuesta,.st-cotizado{background:#eef2f7}
.cp-grid2{display:grid;gap:0 16px}
.cp-list{list-style:none;margin:0;padding:0}.cp-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.cp-list li:first-child{border-top:0}
.cp-list li a{color:var(--ink);min-width:0;flex:1}.cp-list li a:hover{text-decoration:none}.cp-list li a:hover b{color:var(--blue)}.cp-list b{word-break:break-word}.cp-list small{display:block;color:var(--mut);font-size:12.5px}
.dl{width:34px;height:34px;border-radius:10px;background:#e8eef7;color:var(--blue);display:grid;place-items:center;font-weight:700;flex:none}
.cp-feed{list-style:none;margin:0;padding:0}.cp-feed li{display:flex;gap:12px;padding:9px 0}.cp-feed small{display:block;color:var(--mut);font-size:12.5px}
.fd{width:10px;height:10px;border-radius:50%;background:var(--sky);margin-top:6px;flex:none;box-shadow:0 0 0 4px #e3f1fb}.fd.hito{background:var(--green);box-shadow:0 0 0 4px #e8f6ec}
.cp-back{display:inline-block;margin-bottom:10px;font-weight:600;font-size:14px}
.cp-phead{display:flex;justify-content:space-between;align-items:center;gap:16px}.cp-phead h1{margin:8px 0 4px;font-size:22px;color:var(--navy);letter-spacing:-.02em}
.cp-ring{--p:0;width:92px;height:92px;flex:none;border-radius:50%;background:conic-gradient(var(--teal) calc(var(--p)*1%),#e6edf5 0);display:grid;place-items:center;position:relative;align-content:center}
.cp-ring::before{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}.cp-ring span,.cp-ring small{position:relative}.cp-ring span{font-weight:800;font-size:20px;color:var(--navy);line-height:1}.cp-ring small{font-size:11px;color:var(--mut)}
.cp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px}.cp-facts div{background:#fff;border-radius:14px;padding:12px 14px;box-shadow:var(--sh)}.cp-facts small{display:block;color:var(--mut);font-size:12px}
.cp-miles{list-style:none;margin:0;padding:0;position:relative}.cp-miles li{display:flex;gap:12px;padding-bottom:16px;position:relative}
.cp-miles li:not(:last-child)::after{content:"";position:absolute;left:14px;top:30px;bottom:0;width:2px;background:var(--line)}
.mk{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:13px;font-weight:700;background:#fff;border:2px solid var(--line);color:var(--mut)}
.cp-miles li.done .mk{background:var(--green);border-color:var(--green);color:#fff}.cp-miles li.late .mk{border-color:#e0a100;color:#8a5a00}.cp-miles small{display:block;color:var(--mut);font-size:12.5px}
.cp-tl{list-style:none;margin:0;padding:0}.cp-tl li{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.cp-tl li:first-child{border-top:0}.cp-tl .when{font-size:12px;color:var(--mut);padding-top:2px}
.chip{background:#e8f6ec;color:#226b35;font-size:11px;padding:1px 8px}
.att{display:inline-flex;gap:6px;align-items:center;background:#f3f6fa;border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:13px;margin-top:6px;word-break:break-all}
.cp-form{display:flex;flex-direction:column;gap:12px}.cp-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--navy)}
.cp-form input,.cp-form select,.cp-form textarea{font:15px Inter,sans-serif;padding:11px 12px;border:1px solid #cfd8e3;border-radius:12px;background:#fff;color:var(--ink);width:100%}
.cp-form input[type=file]{padding:8px;font-size:13px}.cp-form input:focus,.cp-form select:focus,.cp-form textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(26,136,191,.15)}
.cp-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seg label{display:block}.seg input{position:absolute;opacity:0;width:1px}.seg span{display:block;text-align:center;padding:10px;border:1px solid #cfd8e3;border-radius:12px;font-weight:600;color:var(--mut);cursor:pointer}
.seg input:checked+span{border-color:var(--blue);background:#e8f1fb;color:var(--blue)}
.cp-new summary{cursor:pointer;list-style:none;display:flex;flex-direction:column}.cp-new summary::-webkit-details-marker{display:none}.cp-new summary b{color:var(--blue);font-size:16px}.cp-new summary span{font-size:13px}.cp-new[open] summary{margin-bottom:14px}
.cp-steps{list-style:none;display:flex;margin:16px 0 0;padding:0;gap:4px}.cp-steps li{flex:1;font-size:11px;color:var(--mut);text-align:center;padding-top:10px;border-top:4px solid #e6edf5;font-weight:600}.cp-steps li.on{border-color:var(--teal);color:var(--navy)}
.cp-thread{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.bub{max-width:88%;padding:10px 14px;border-radius:16px;background:#f3f6fa}.bub small{color:var(--mut);font-size:12px}.bub p{margin:4px 0 0}
.bub.me{align-self:flex-end;background:#e3f1fb;border-bottom-right-radius:4px}.bub.them{align-self:flex-start;background:#eef7ef;border-bottom-left-radius:4px}
.sys{align-self:center;font-size:12px;color:var(--mut);background:#f3f6fa;padding:4px 12px;border-radius:99px;text-align:center}
.reply .cp-row{grid-template-columns:1fr auto}
.cp-dl{display:grid;grid-template-columns:90px 1fr;gap:8px;margin:0}.cp-dl dt{color:var(--mut)}.cp-dl dd{margin:0;font-weight:600;word-break:break-word}
.cp-auth{min-height:100vh;display:grid;margin-bottom:-76px}
.cp-auth-art{display:none}.cp-auth-card{background:#fff;padding:32px 22px;width:100%;max-width:440px;margin:auto;border-radius:20px;box-shadow:var(--sh)}
.cp-auth-logo{height:42px;margin-bottom:22px}.cp-auth-card h1{font-size:24px;margin:0 0 6px;color:var(--navy);letter-spacing:-.02em}.cp-auth-card>p{margin:0 0 20px}
.fine{font-size:12.5px;color:var(--mut);text-align:center;margin:16px 0 0}.fine.left{text-align:left;margin:0}
@media(max-width:759px){.cp-auth{padding:16px;background:linear-gradient(160deg,var(--navy),var(--blue) 55%,var(--teal))}.cp-row{grid-template-columns:1fr}.reply .cp-row{grid-template-columns:1fr auto}}
@media(min-width:760px){body.cp{padding-bottom:0}.cp-tabs{display:none}.cp-nav{display:flex}.cp-user{margin-left:12px}.un{display:inline}
.cp-wrap{padding:0 24px}.cp-main{padding-top:28px}.cp-projs{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.cp-grid2{grid-template-columns:1fr 1fr}
.cp-hero{padding:32px}.cp-hero h1{font-size:32px}.cp-card{padding:22px}
.cp-auth{grid-template-columns:1.1fr 1fr;margin-bottom:0}.cp-auth-art{display:flex;flex-direction:column;justify-content:flex-end;padding:56px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(129,186,75,.45),transparent 40%),linear-gradient(150deg,var(--navy),var(--blue) 55%,var(--teal))}
.cp-auth-art img{width:72px;margin-bottom:auto;filter:brightness(0) invert(1)}.cp-auth-art h2{font-size:36px;line-height:1.15;margin:0 0 12px;letter-spacing:-.02em;max-width:460px}.cp-auth-art p{opacity:.88;max-width:420px;font-size:17px;margin:0}
.cp-auth-card{box-shadow:none;padding:48px}}
