@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');
*{font-family:'Poppins',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
:root{--fc-green:#19b85f;--fc-green-dark:#08753a;--fc-mint:#e9fff1;--fc-bg:#f5f7f2;--fc-card:#ffffff;--fc-ink:#111714;--fc-muted:#65716a;--fc-line:#dfe8df;--fc-soft:#f0f7f2;--fc-purple:#7c5cff;--fc-red:#ef4444;--radius:24px;--shadow:0 24px 80px rgba(13,37,20,.10);--shadow-sm:0 10px 28px rgba(13,37,20,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 0 -10%,#dffbe9 0,transparent 32%),linear-gradient(180deg,#fbfcf7,#f3f5f0);color:var(--fc-ink);font-family:'Poppins',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.45}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.045em;margin:0 0 8px}p{margin:4px 0}.hint,.muted{color:var(--fc-muted);font-size:13px}.app.shell{max-width:1320px;margin:0 auto;padding:28px 22px 56px}.top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.brand{font-size:34px;font-weight:950;line-height:1;display:block}.top p{font-size:16px;color:var(--fc-muted)}.top nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
button,.btn{appearance:none;border:0;border-radius:999px;background:var(--fc-green);color:#fff;font-weight:900;padding:12px 19px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 9px 20px rgba(25,184,95,.22);transition:.18s ease;font-size:14px}button:hover,.btn:hover{background:var(--fc-green-dark);transform:translateY(-1px);color:#fff}.btn.ghost,.ghost,button.ghost{background:#fff;color:var(--fc-ink);border:1px solid var(--fc-line);box-shadow:var(--shadow-sm)}.btn.ghost:hover,.ghost:hover,button.ghost:hover{background:#111714;color:#fff}.danger{color:var(--fc-red)!important}.version-badge{display:inline-flex;align-items:center;gap:6px;background:#101511;color:#cfffdb;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;margin-top:12px}
input,textarea,select{width:100%;border:1px solid var(--fc-line);border-radius:18px;background:#fff;padding:14px 16px;font:inherit;color:var(--fc-ink);outline:0;transition:.16s ease}textarea{resize:vertical}select{min-height:50px;appearance:none;background:#fff}input:focus,textarea:focus,select:focus{border-color:rgba(25,184,95,.65);box-shadow:0 0 0 4px rgba(25,184,95,.10)}label{font-weight:800;color:#26322b;font-size:13px}form{display:grid;gap:12px}.panel,.card,.auth-card{background:rgba(255,255,255,.96);border:1px solid rgba(207,222,210,.95);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.alert{border-radius:18px;padding:14px 18px;margin:14px 0;font-weight:800;border:1px solid}.alert.success{background:#dcfce7;color:#14532d;border-color:#bbf7d0}.alert.error{background:#fee2e2;color:#7f1d1d;border-color:#fecaca}.alert.info{background:#eaf5ff;color:#075985;border-color:#bae6fd}
/* dashboard */.search-hero{padding:18px;margin-bottom:20px}.search{display:flex;gap:12px}.search input{min-height:58px;flex:1}.dashboard-v2{display:grid;grid-template-columns:410px minmax(0,1fr);gap:22px;align-items:start}.new-project-panel{position:sticky;top:22px}.new-project-panel h2{font-size:28px}.new-project-panel textarea{min-height:220px}.new-project-panel button{width:100%;height:54px}.project-list-panel{display:grid;gap:16px}.list-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.library-card-mini{background:linear-gradient(135deg,#111714,#1d2a20);color:#fff;border-radius:22px;padding:16px 18px;display:grid;gap:3px;min-width:210px;box-shadow:var(--shadow-sm);font-weight:950}.library-card-mini small{color:#bcd7c4;font-weight:700}.project-list{display:grid;gap:14px}.project-row{background:#fff;border:1px solid var(--fc-line);border-radius:24px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:12px;box-shadow:var(--shadow-sm);transition:.16s ease}.project-row:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.project-row>a{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px}.project-icon{height:56px;width:56px;border-radius:18px;background:linear-gradient(135deg,var(--fc-mint),#fff);display:grid;place-items:center;font-size:25px;border:1px solid #d7efdf}.project-main{min-width:0}.project-main h3{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-main p{color:var(--fc-muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.tags span,.badge{display:inline-flex;background:var(--fc-mint);color:#096333;border:1px solid #c7ecd3;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.project-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end;font-size:13px;font-weight:850}.empty{color:var(--fc-muted);text-align:center;padding:34px}.empty.small{font-size:13px;padding:14px;background:#f7faf7;border-radius:16px}
/* auth */body.auth{min-height:100vh;display:grid;place-items:center;padding:22px}.auth-card{width:min(480px,100%)}.auth-card h1{font-size:34px}.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:var(--fc-green-dark);font-weight:900}
/* project/chat */.chat-app{height:100vh;display:grid;grid-template-columns:330px minmax(460px,1fr) 330px;gap:16px;padding:16px;background:radial-gradient(circle at 0 0,#dffbe9 0,transparent 28%),var(--fc-bg);overflow:hidden}.chat-left,.chat-right,.chat-center{min-height:0}.chat-left,.chat-right{background:rgba(255,255,255,.92);border:1px solid var(--fc-line);border-radius:28px;box-shadow:var(--shadow-sm);padding:18px;overflow:auto}.chat-left{display:flex;flex-direction:column;gap:14px}.back{font-weight:950;color:var(--fc-green-dark);display:inline-flex;align-items:center;gap:6px}.chat-left h1{font-size:27px;line-height:1.05}.project-memory{gap:10px}.project-memory label{display:grid;gap:6px}.project-memory input,.project-memory textarea,.project-memory select{padding:11px 12px;border-radius:15px;font-size:14px}.project-memory textarea{min-height:88px}.project-memory details{border:1px solid var(--fc-line);background:#f9fbf9;border-radius:17px;padding:10px}.project-memory summary{cursor:pointer;font-weight:950;color:var(--fc-green-dark)}.project-memory details textarea{margin-top:8px}.nav-pill{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--fc-line);background:#fff;border-radius:999px;padding:12px 14px;font-weight:900;box-shadow:var(--shadow-sm)}.chat-center{display:grid;grid-template-rows:auto 1fr auto;background:rgba(255,255,255,.75);border:1px solid var(--fc-line);border-radius:30px;box-shadow:var(--shadow);overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;border-bottom:1px solid var(--fc-line);background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}.chat-header h2{font-size:23px;margin:0}.chat-header span{display:inline-flex;margin-top:3px;background:var(--fc-mint);color:var(--fc-green-dark);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:950}.search.inline{max-width:430px;flex:1}.search.inline input{min-height:42px;border-radius:999px}.search.inline button{padding:10px 15px}.chat-thread{overflow:auto;padding:24px;scrollbar-width:thin}.welcome{max-width:680px;margin:9vh auto;text-align:center;background:#fff;border:1px solid var(--fc-line);border-radius:30px;padding:36px;box-shadow:var(--shadow-sm)}.welcome h2{font-size:34px}.bubble{position:relative;max-width:860px;margin:18px 0;padding:17px 18px;border:1px solid var(--fc-line);box-shadow:0 5px 18px rgba(16,24,18,.04)}.bubble.user{margin-left:auto;background:#eaf8ef;border-radius:24px 24px 7px 24px}.bubble.ai{margin-right:auto;background:#fff;border-radius:24px 24px 24px 7px}.bubble.question{margin-right:auto;background:#fff7ed;border-color:#fed7aa;border-radius:24px 24px 24px 7px}.bubble b{font-weight:950}.bubble time{margin-left:8px;color:var(--fc-muted);font-size:12px}.bubble .content{margin-top:10px;white-space:pre-wrap;line-height:1.58}.delete{position:absolute;right:10px;top:10px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ffe4e6;color:#be123c;font-weight:950}.attachments,.deliverables{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.attachments a,.file-chip{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--fc-line);background:#fff;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:850}.bubble summary{cursor:pointer;color:var(--fc-green-dark);font-weight:950}pre{white-space:pre-wrap;overflow:auto;background:#0e1410;color:#eaffef;border-radius:18px;padding:16px;max-height:520px;font-size:13px;line-height:1.5}.chat-composer{border-top:1px solid var(--fc-line);padding:15px 18px 18px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.chat-composer form{max-width:980px;margin:0 auto;border:1px solid var(--fc-line);border-radius:26px;padding:12px;background:#fff;box-shadow:var(--shadow-sm)}.mode-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mode-row select{max-width:230px;border-radius:999px;min-height:42px;padding:10px 14px;font-size:13px}.mode-row button{padding:10px 14px;box-shadow:none;background:#f2f6f2;color:var(--fc-ink);border:1px solid var(--fc-line)}#instruction{min-height:96px;border:0;border-radius:18px;background:#fbfdfb;box-shadow:none}.composer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-drop{border:1px dashed #93cfa4;background:#f3fbf5;border-radius:999px;padding:11px 15px;font-weight:950;cursor:pointer;display:inline-flex}.file-drop input{display:none}.composer-actions button:last-child{margin-left:auto;min-width:120px}.chat-right h2{font-size:24px}.chat-right h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#425249;margin:20px 0 10px}.output-card{background:#fff;border:1px solid var(--fc-line);border-radius:19px;padding:13px;margin-bottom:10px;box-shadow:var(--shadow-sm)}.output-card strong{font-size:12px;color:var(--fc-muted)}.output-card p{font-size:13px;margin:6px 0 10px;color:#344139}.output-card a{display:inline-flex;background:var(--fc-mint);color:var(--fc-green-dark);border-radius:999px;padding:7px 10px;margin:2px;font-size:12px;font-weight:900}
/* library */.library-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:22px;align-items:start}.library-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.library-item{background:#fff;border:1px solid var(--fc-line);border-radius:22px;padding:16px;box-shadow:var(--shadow-sm)}.library-item h3{font-size:19px}.library-item p{color:var(--fc-muted);font-size:14px}.library-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media (max-width:1120px){.dashboard-v2,.library-grid{grid-template-columns:1fr}.new-project-panel{position:static}.chat-app{height:auto;min-height:100vh;grid-template-columns:1fr;overflow:auto}.chat-left,.chat-right,.chat-center{max-height:none}.chat-center{min-height:70vh}.chat-left{order:1}.chat-center{order:2}.chat-right{order:3}.chat-header{align-items:flex-start;flex-direction:column}.search.inline{max-width:none;width:100%}.composer-actions button:last-child{margin-left:0}}
@media (max-width:680px){body{font-size:14px}.app.shell{padding:18px 12px 34px}.top{flex-direction:column}.brand{font-size:28px}.top nav{width:100%;justify-content:stretch}.top nav .btn{flex:1}.search{flex-direction:column}.dashboard-v2{gap:14px}.panel,.card,.auth-card{padding:18px;border-radius:22px}.project-row{grid-template-columns:1fr}.project-actions{align-items:flex-start;flex-direction:row}.chat-app{padding:8px;gap:10px}.chat-left,.chat-right,.chat-center{border-radius:22px}.chat-thread{padding:14px}.welcome{margin:25px auto;padding:24px}.welcome h2{font-size:26px}.bubble{max-width:100%;padding:15px}.mode-row select{max-width:none;width:100%}.mode-row button{flex:1}.composer-actions{align-items:stretch}.composer-actions>*{width:100%;justify-content:center}.auth-links{flex-direction:column}}

/* Fresh AI Developer v2.4 – account menu + project log */
.chatgpt-top nav,.chat-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.chatgpt-top nav{justify-content:flex-end}.account-menu{position:relative;display:inline-flex;align-items:center}.account-trigger{border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:999px;padding:6px 10px 6px 6px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 10px 25px rgba(16,24,40,.08);font-weight:800;color:#18231c}.account-trigger:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(16,24,40,.12)}.account-avatar{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;background:linear-gradient(135deg,#19b96b,#0b7e43);color:#fff;font-size:14px;font-weight:900;letter-spacing:.02em;box-shadow:inset 0 0 0 2px rgba(255,255,255,.3)}.account-name{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:260px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;box-shadow:0 24px 70px rgba(16,24,40,.18);padding:10px;display:none;z-index:1000}.account-menu.open .account-dropdown{display:block}.account-dropdown-head{padding:12px 12px 10px;border-bottom:1px solid #edf1eb;margin-bottom:6px}.account-dropdown-head strong,.account-dropdown-head small{display:block}.account-dropdown-head small{color:#6b746f;margin-top:3px}.account-dropdown a{display:flex;padding:11px 12px;border-radius:14px;text-decoration:none;color:#17201a;font-weight:750}.account-dropdown a:hover{background:#effaf3}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.account-card h2{margin-top:0}.password-field{display:flex;gap:8px;align-items:center}.password-field input{flex:1}.password-field button{width:auto;padding:12px 14px;border-radius:14px;background:#effaf3;color:#0b7e43;border:1px solid rgba(15,23,42,.08);font-weight:850;cursor:pointer}.log-item{border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#fff;padding:12px;margin:8px 0}.log-item strong{display:block;font-size:14px}.log-item small{display:block;color:#6b746f;margin:3px 0 6px}.log-item p{margin:0;color:#35423a;font-size:13px;line-height:1.35}.chat-header .account-menu{margin-left:auto}.chat-header .search.inline{min-width:260px;flex:1;max-width:620px}@media(max-width:980px){.account-grid{grid-template-columns:1fr}.account-name{display:none}.chat-header .account-menu{margin-left:0}.chatgpt-top nav{justify-content:flex-start}.account-dropdown{right:auto;left:0}}@media(max-width:640px){.account-trigger{padding:5px}.account-avatar{width:34px;height:34px}.account-dropdown{position:fixed;right:14px;left:14px;top:76px;width:auto}.password-field{display:grid;grid-template-columns:1fr}.password-field button{width:100%}}

/* Fresh AI Developer v2.5 – Karel / Fresh Crackers product layer */
:root{--fc-green:#10b65c;--fc-green-2:#087d3d;--fc-lime:#c8ff72;--fc-dark:#101812;--fc-soft:#f4fbf5;--fc-card:#ffffff;--fc-border:rgba(16,24,18,.09);--fc-glow:0 24px 80px rgba(16,182,92,.22)}
body{background:radial-gradient(circle at 8% -10%,rgba(16,182,92,.18),transparent 36%),radial-gradient(circle at 92% 0%,rgba(200,255,114,.28),transparent 31%),#f6f8f5;color:#111a14}.brand-logo{display:flex;align-items:center;gap:12px}.brand-logo img{width:38px;height:38px;border-radius:13px;box-shadow:0 12px 30px rgba(16,182,92,.22)}.brand-logo .brand{font-size:38px;letter-spacing:-.05em}.version-badge{background:#111a14!important;color:#d9ffe4!important;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 28px rgba(17,26,20,.18)}button,.btn,.search button{background:linear-gradient(135deg,var(--fc-green),var(--fc-green-2));box-shadow:0 14px 34px rgba(16,182,92,.24)}button:hover,.btn:hover{transform:translateY(-1px);filter:saturate(1.08)}.btn.ghost,button.ghost,.top nav .btn.ghost{background:#fff;color:#111a14;border:1px solid var(--fc-border);box-shadow:0 14px 34px rgba(20,28,22,.06)}.panel,.project-row,.chat-left,.chat-right,.chat-center,.auth-card{border-color:var(--fc-border);box-shadow:0 28px 90px rgba(20,28,22,.08)}.top{background:rgba(255,255,255,.78);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.68);box-shadow:0 30px 90px rgba(20,28,22,.08)}.karel-card-head{display:flex;gap:14px;align-items:center;margin-bottom:10px}.karel-card-head img{width:72px;height:72px;object-fit:contain;border-radius:24px;background:linear-gradient(135deg,#effff4,#fff);border:1px solid var(--fc-border);box-shadow:var(--fc-glow)}.karel-card-head h2{margin:0}.karel-card-head p{margin:4px 0 0;color:#526057}.project-row{transition:.18s ease}.project-row:hover{transform:translateY(-2px);box-shadow:0 24px 70px rgba(16,24,18,.1)}.project-icon{background:linear-gradient(135deg,#111a14,var(--fc-green));color:#fff;box-shadow:0 15px 36px rgba(16,182,92,.22)}

.karel-auth{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 15% 5%,rgba(16,182,92,.32),transparent 35%),radial-gradient(circle at 85% 20%,rgba(200,255,114,.4),transparent 30%),linear-gradient(135deg,#f6faf6,#eef7ef)}.auth-shell{width:min(1120px,100%);display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:stretch}.auth-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#0f1812,#122017 52%,#0a5f32);color:#fff;border-radius:36px;padding:34px;min-height:620px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 35px 110px rgba(16,24,18,.28)}.auth-visual:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 74% 23%,rgba(200,255,114,.55),transparent 20%),radial-gradient(circle at 40% 70%,rgba(16,182,92,.36),transparent 26%);opacity:.9}.auth-visual>*{position:relative;z-index:1}.auth-visual .fc-logo{width:210px;max-width:60%;filter:drop-shadow(0 16px 32px rgba(0,0,0,.22))}.auth-visual .karel-hero{width:min(430px,92%);align-self:center;margin:auto 0;filter:drop-shadow(0 35px 70px rgba(0,0,0,.32))}.auth-visual h1{font-size:76px;line-height:.9;letter-spacing:-.08em;margin:0}.auth-visual p{font-size:20px;line-height:1.5;max-width:620px;color:#e7ffed}.karel-auth .auth-card{width:auto;align-self:center;background:rgba(255,255,255,.86);backdrop-filter:blur(22px);border-radius:34px;padding:34px}.karel-auth .auth-card h2{font-size:42px;letter-spacing:-.05em;margin:0 0 8px}.karel-auth .auth-card p{color:#58645d}.karel-auth .auth-card form{gap:15px}.password-field{display:flex;gap:8px;align-items:center}.password-field input{flex:1}.password-field button{white-space:nowrap;background:#eef8f0;color:#0b7e43;border:1px solid var(--fc-border);box-shadow:none}

.karel-app{background:radial-gradient(circle at 0% 0%,rgba(16,182,92,.2),transparent 28%),radial-gradient(circle at 90% 0%,rgba(200,255,114,.24),transparent 26%),#f5f8f5}.karel-side-brand{display:flex;gap:13px;align-items:center;padding:12px;border-radius:24px;background:linear-gradient(135deg,#fff,#effbf2);border:1px solid var(--fc-border)}.karel-side-brand img{width:68px;height:68px;object-fit:contain;border-radius:20px;background:#fff;box-shadow:0 18px 46px rgba(16,182,92,.18)}.karel-side-brand h1{font-size:23px;margin:0}.karel-side-brand p{margin:4px 0 0;color:#5d6a62;font-size:13px}.chat-header{background:rgba(255,255,255,.88);backdrop-filter:blur(24px)}.chat-header h2{letter-spacing:-.035em}.chat-header span{background:#e7ffe8;color:#0a7139}.karel-welcome{position:relative;overflow:hidden}.karel-welcome:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,rgba(16,182,92,.12),transparent 34%);pointer-events:none}.karel-welcome img{width:150px;max-width:50%;filter:drop-shadow(0 25px 50px rgba(16,182,92,.24))}.bubble.user{background:linear-gradient(135deg,#eaffef,#f6fff8);border-color:rgba(16,182,92,.18)}.bubble.ai{border-color:rgba(16,182,92,.12)}.bubble.ai b:before,.bubble.question b:before{content:"🤖 ";}.queue-chip{display:inline-flex;margin-left:8px;background:#111a14;color:#eaffef;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.chat-composer form{border-radius:30px;border-color:rgba(16,182,92,.17);box-shadow:0 24px 70px rgba(16,24,18,.08)}.mode-row button{background:#f3fbf5;color:#152017;border-color:rgba(16,182,92,.15)}#instruction{background:linear-gradient(180deg,#fbfefc,#fff)}.file-drop{border-color:rgba(16,182,92,.35);background:#f0fbf3}.output-card a{background:#e7ffe8;color:#087d3d}.account-avatar{background:linear-gradient(135deg,#111a14,var(--fc-green))}
@media(max-width:980px){.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:auto}.auth-visual .karel-hero{width:250px}.auth-visual h1{font-size:54px}.karel-auth .auth-card{align-self:auto}}
@media(max-width:640px){.karel-auth{padding:12px}.auth-visual{border-radius:26px;padding:24px}.auth-visual .fc-logo{width:170px}.auth-visual .karel-hero{width:210px}.auth-visual h1{font-size:48px}.auth-visual p{font-size:16px}.karel-auth .auth-card{padding:22px;border-radius:26px}.karel-auth .auth-card h2{font-size:34px}.brand-logo .brand{font-size:30px}.karel-card-head img{width:60px;height:60px}.password-field{display:grid;grid-template-columns:1fr}.password-field button{width:100%}}

/* Karel v3.1 Core */
.queue-status-card,.composer-help,.connector-card,.connection-row{border:1px solid var(--fc-border);background:rgba(255,255,255,.78);border-radius:22px;padding:14px;margin:12px 0;box-shadow:0 16px 42px rgba(20,28,22,.05)}
.queue-status-card{display:grid;gap:7px;font-size:13px}.queue-status-card strong{font-size:15px}.queue-status-card form{margin:4px 0 0}.composer-help{font-size:13px;color:#445149;background:linear-gradient(135deg,#f2fff5,#fff)}.status-chip{display:inline-flex;margin-left:8px;background:#eef8f0;color:#27613f;border:1px solid rgba(16,182,92,.18);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.status-needs_confirmation{background:#fff8e8;color:#8a5d05;border-color:#f2d28a}.status-queued,.status-processing{background:#edf4ff;color:#24518c;border-color:#b6cef5}.status-failed{background:#fff0f0;color:#a12929;border-color:#f1b9b9}.inline-delete{position:absolute;right:10px;top:10px}.inline-delete .delete{position:static;border:0;background:#fff;color:#888;box-shadow:none}.inline-form{display:inline-flex;margin:0}.confirm-work{margin-top:12px}.confirm-work button{font-weight:900}.ghost-btn{width:100%;text-align:center;border:1px solid var(--fc-border);background:#fff;color:#111a14;box-shadow:none}.link-btn{background:none!important;box-shadow:none!important;color:#0b7e43;padding:0;border:0;text-decoration:underline;cursor:pointer}.link-btn.danger,.danger{color:#a12929!important}.warn-tag{background:#fff3dc!important;color:#8a5d05!important}.mini-stats{display:grid;gap:8px;margin-top:16px}.mini-stats a{display:block;text-decoration:none;background:#f2fff5;border:1px solid var(--fc-border);border-radius:16px;padding:10px;color:#111a14;font-weight:800}.connectivity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.connector-card.wide{grid-column:1/-1}.connector-card h2{margin-top:0}.connector-card ul,.connector-card ol{padding-left:22px;line-height:1.7}.connection-list{display:grid;gap:14px}.connection-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.connection-row h3{margin:0 0 5px}.connection-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.connection-actions form{margin:0}.connection-row pre,.bubble.question pre{white-space:pre-wrap;background:#0f1812;color:#effff4;border-radius:16px;padding:14px;overflow:auto;max-height:460px}.project-actions form{display:inline}.nav-pill small{float:right;opacity:.7}.file-chip{display:block;margin:6px 0;padding:9px 10px;background:#f6fff8;border:1px solid var(--fc-border);border-radius:14px;text-decoration:none;color:#111a14}.bubble{position:relative}.deliverables form button.btn{display:inline-flex;text-decoration:none;border-radius:999px}
@media(max-width:1100px){.connectivity-grid{grid-template-columns:1fr}.connection-row{grid-template-columns:1fr}.connection-actions{justify-content:flex-start}.chat-app{grid-template-columns:1fr}.chat-left,.chat-right{position:static;max-height:none}.chat-center{min-width:0}}
@media(max-width:720px){.mode-row{display:grid}.mode-row>*{width:100%}.composer-actions{display:grid}.composer-actions>*{width:100%}.chat-header{display:grid;gap:12px}.chat-header .search.inline{width:100%}.project-row{grid-template-columns:1fr}.project-actions{justify-content:flex-start}.connectivity-page .top nav{display:grid;grid-template-columns:1fr;gap:8px;width:100%}}

/* Karel v3.1.3 – dialog hotfix */
.status-confirmed{background:#e7ffe8;color:#087d3d;border-color:#baf2c6}.bubble.ai details{margin-top:10px}.chat-thread{scroll-padding-bottom:160px}.bubble.question{box-shadow:0 14px 36px rgba(245,158,11,.09)}

/* Karel v3.1.4 – dialog core */
.active-brief{margin:14px 20px 0;padding:14px 16px;border:1px solid rgba(16,182,92,.22);border-radius:22px;background:linear-gradient(135deg,#ecfff1,#fff);display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 18px 50px rgba(16,24,18,.07)}
.active-brief strong{font-size:16px}.active-brief p{margin:3px 0 0;color:#526057;font-size:13px}.active-brief form{display:block;margin:0;min-width:max-content}.ai-readable{white-space:pre-wrap;line-height:1.6;background:#fbfffc;border:1px solid rgba(16,182,92,.12);border-radius:16px;padding:14px;color:#17231b}.bubble.question .ai-readable pre{background:transparent;color:inherit;padding:0}.mode-row [data-confirm-latest]{background:#111a14;color:#eaffef}.mode-row [data-confirm-latest]:hover{background:#087d3d;color:#fff}
@media(max-width:720px){.active-brief{display:grid;margin:10px 12px 0}.active-brief form,.active-brief button{width:100%}}

/* Karel v3.3 – jednotná horní lišta a pevná patička napříč aplikací */
.app-topnav{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 18px;margin-bottom:18px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border:1px solid var(--fc-line,var(--fc-border,#dfe8df));border-radius:18px;box-shadow:var(--shadow-sm,0 10px 28px rgba(13,37,20,.07))}
.app-topnav-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--fc-ink,#111714);font-weight:800;font-size:15px}
.app-topnav-brand img{width:24px;height:24px;border-radius:7px}
.app-topnav-links{display:flex;gap:4px;flex:1;flex-wrap:wrap}
.app-topnav-links a{padding:7px 13px;border-radius:999px;color:var(--fc-muted,#65716a);text-decoration:none;font-weight:600;font-size:13.5px;white-space:nowrap}
.app-topnav-links a:hover{background:var(--fc-soft,#f0f7f2);color:var(--fc-ink,#111714)}
.app-topnav-links a.active{background:var(--fc-mint,#e9fff1);color:var(--fc-green-dark,#08753a)}

body{padding-bottom:46px}
.app-footer{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;align-items:center;justify-content:center;height:36px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-top:1px solid var(--fc-line,var(--fc-border,#dfe8df));font-size:12px;color:var(--fc-muted,#65716a)}
.app-footer a{color:var(--fc-green-dark,#08753a);text-decoration:none;font-weight:700}
.app-footer a:hover{text-decoration:underline}
.app.shell{padding-bottom:64px}

@media(max-width:720px){
  .app-topnav{padding:10px 12px;gap:10px}
  .app-topnav-links{order:3;width:100%;justify-content:center;gap:2px}
  .app-topnav-links a{padding:6px 10px;font-size:12.5px}
  .app-footer{font-size:10.5px;padding:0 8px;text-align:center}
}

/* Composer: skrytý panel s nápady a technickými volbami */
.ideas-panel{background:var(--fc-soft,#f0f7f2);border:1px solid var(--fc-line,var(--fc-border,#dfe8df));border-radius:14px;padding:10px 12px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px}
.ideas-panel select{padding:8px 10px;border-radius:10px;border:1px solid var(--fc-line,var(--fc-border,#dfe8df))}
.ideas-buttons{display:flex;gap:8px;flex-wrap:wrap}
.ideas-buttons button{padding:7px 12px;border-radius:999px;border:1px solid var(--fc-line,var(--fc-border,#dfe8df));background:#fff;font-size:13px;cursor:pointer}
.ideas-buttons button:hover{background:var(--fc-mint,#e9fff1)}

/* Lidsky čitelné shrnutí WP připojení */
.wp-human-summary{background:var(--fc-mint,#e9fff1);border-radius:12px;padding:10px 12px;margin:8px 0}
.wp-human-summary p{margin:3px 0;font-size:13.5px;color:var(--fc-ink,#111714)}


/* Karel v3.5 – čitelnější tlačítka a menší výchozí pole pro zadání */
button.ghost,.btn.ghost{border:1.5px solid var(--fc-green,#19b85f);color:var(--fc-green-dark,#08753a);font-weight:700}
button.ghost:hover,.btn.ghost:hover{background:var(--fc-mint,#e9fff1)}
.ideas-buttons button{border:1.5px solid var(--fc-line,#dfe8df);color:var(--fc-ink,#111714);font-weight:600}
.ideas-buttons button:hover{border-color:var(--fc-green,#19b85f)}
#ideasToggle{font-weight:700}
#instruction{min-height:64px}

/* Karel v3.5 – konektivita: 3 panely vedle sebe místo 2+1 */
.connectivity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.connector-card.wide{grid-column:auto}
@media(max-width:980px){.connectivity-grid{grid-template-columns:1fr}}

/* Karel v3.5 – posuvníky pro úpravu šířky panelů v projektu */
.col-resizer{cursor:col-resize;background:transparent;position:relative}
.col-resizer::after{content:'';position:absolute;top:0;bottom:0;left:2px;width:2px;border-radius:2px;background:var(--fc-line,#dfe8df)}
.col-resizer:hover::after,.col-resizer.active::after{background:var(--fc-green,#19b85f)}


/* Karel v3.6 – odlišení výkonnostního souhrnu od obsahového */
.wp-human-summary.health{background:#fff7e6;border:1px solid #f3d9a4}
.wp-human-summary.health strong{display:block;margin-bottom:4px}



/* ============================================================
   Karel v3.8 – JEDNOTNÉ finální rozvržení stránky projektu.
   Nahrazuje všechny dřívější dílčí zásahy (v3.3–v3.7), které se
   navzájem přepisovaly napříč souborem a rozbily desktop layout.
   Klíčové vlastnosti mají !important záměrně – i staré pravidlo
   výše v souboru (@media max-width:1100px, řádek ~28, které dělá
   z chat-app jeden sloupec) by jinak mohlo kolidovat.
   ============================================================ */

body.project-page{
  display:flex !important;
  flex-direction:column !important;
  height:100vh !important;
  min-height:0 !important;
  overflow:hidden !important;
  box-sizing:border-box;
  margin:0;
  padding-bottom:36px;
}
body.project-page .app-topnav{flex:0 0 auto !important;margin:8px 8px 0 8px}

body.project-page .chat-app{
  flex:1 1 0 !important;
  min-height:0 !important;
  height:auto !important;
  display:grid !important;
  grid-template-columns:var(--col-left,330px) 6px minmax(420px,1fr) 6px var(--col-right,330px) !important;
  gap:16px;
  padding:16px;
  overflow:hidden !important;
}
body.project-page .chat-app .chat-left,
body.project-page .chat-app .chat-right{position:static !important;transform:none !important;width:auto !important;max-width:none !important}
body.project-page .chat-app .chat-center{display:flex !important;flex-direction:column !important;min-height:0}
body.project-page .chat-app .chat-center #thread{flex:1 1 0;min-height:0;overflow:auto}
body.project-page .chat-app .chat-center > *{flex:0 0 auto}
body.project-page .mobile-panel-toggle,
body.project-page .mobile-panel-close,
.mobile-backdrop{display:none !important}

@media(max-width:980px){
  body.project-page .chat-app{
    display:flex !important;
    flex-direction:column !important;
    padding:6px !important;
    gap:0 !important;
  }
  body.project-page .chat-app .col-resizer{display:none !important}
  body.project-page .chat-app .chat-center{flex:1 1 auto !important;order:2}

  body.project-page .chat-app .chat-left,
  body.project-page .chat-app .chat-right{
    position:fixed !important;
    top:0 !important; bottom:0 !important;
    width:88vw !important; max-width:380px !important;
    z-index:300;
    margin:0 !important;
    border-radius:0 !important;
    box-shadow:0 0 60px rgba(10,20,12,.35);
    transition:transform .25s ease;
    overflow:auto !important;
  }
  body.project-page .chat-app .chat-left{left:0 !important; transform:translateX(-105%) !important}
  body.project-page .chat-app .chat-right{right:0 !important; transform:translateX(105%) !important}
  body.project-page .chat-app .chat-left.open{transform:translateX(0) !important}
  body.project-page .chat-app .chat-right.open{transform:translateX(0) !important}

  .mobile-backdrop{display:none;position:fixed;inset:0;background:rgba(8,16,10,.45);z-index:290}
  .mobile-backdrop.open{display:block !important}

  body.project-page .mobile-panel-toggle{
    display:inline-flex !important;align-items:center;gap:5px;
    padding:8px 12px;border-radius:999px;border:1.5px solid var(--fc-green,#19b85f);
    background:#fff;color:var(--fc-green-dark,#08753a);font-weight:700;font-size:12.5px;
    white-space:nowrap;
  }
  body.project-page .mobile-panel-close{
    display:inline-flex !important;margin-bottom:12px;
    padding:8px 12px;border-radius:999px;border:1px solid var(--fc-line,#dfe8df);
    background:#f7f7f7;font-weight:700;
  }
  body.project-page .chat-header{flex-wrap:nowrap;gap:8px;padding:12px}
  body.project-page .chat-header h2{font-size:16px}
  body.project-page .chat-header .search.inline{display:none}
}

@media(max-width:480px){
  body.project-page .chat-app .chat-left,
  body.project-page .chat-app .chat-right{width:92vw !important}
}

/* ============================================================
   Karel v3.14 – chat konečně dominuje obrazovce. S wrapperem
   .chat-chrome (hlavička + bannery + aktivní návrh pohromadě)
   je to jednoznačné bez ohledu na to, kolik bannerů se zobrazí.
   ============================================================ */
body.project-page .chat-app .chat-center{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
}
body.project-page .chat-app .chat-center .chat-chrome{flex:0 0 auto}
body.project-page .chat-app .chat-center #thread{flex:1 1 0 !important;min-height:0 !important;overflow:auto}
body.project-page .chat-app .chat-center .chat-composer{flex:0 0 auto}

/* Kompaktní hlavička: stavový řádek + ikona lupy místo trvale otevřeného vyhledávání */
.chat-chrome{border-bottom:1px solid var(--fc-line,#dfe8df)}
.chat-header{padding:10px 16px !important;gap:10px !important}
.chat-header h2{font-size:16px !important;margin:0}
.chat-header span{padding:3px 9px !important;font-size:11px !important;margin-top:0 !important}
.icon-btn{border:1px solid var(--fc-line,#dfe8df);background:#fff;border-radius:999px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;flex:0 0 auto}
.icon-btn:hover{background:var(--fc-soft,#f0f7f2)}
#searchForm{padding:8px 16px;display:flex !important}
#searchForm[hidden]{display:none !important}
.active-brief{padding:10px 16px !important;margin:0 !important;border-radius:0 !important}
.alert{margin:0 16px 8px !important}
.alert:first-of-type{margin-top:8px !important}

/* Composer: jednořádkové pole ve výchozím stavu, roste jen podle potřeby */
.chat-composer{padding:10px 14px 12px !important}
.chat-composer form{padding:8px !important}
#instruction{min-height:40px !important;max-height:220px;resize:none;transition:min-height .1s}
.mode-row{margin-bottom:4px}

/* "Karel pracuje" – indikátor při odesílání formulářů, co spouští zpracování */
.work-loading{display:none;align-items:center;gap:10px;padding:12px 16px;background:var(--fc-mint,#e9fff1);border-radius:14px;margin:8px 16px;font-weight:700;color:var(--fc-green-dark,#08753a)}
.work-loading.active{display:flex}
.work-loading .spinner{width:18px;height:18px;border:3px solid var(--fc-green,#19b85f);border-top-color:transparent;border-radius:50%;animation:karel-spin .7s linear infinite;flex:0 0 auto}
@keyframes karel-spin{to{transform:rotate(360deg)}}

@media(max-width:980px){
  #searchForm{display:none !important}
}

/* Karel v3.15 – composer nesmí sníst prostor vláknu, i když je "Nápady" rozbalené */
body.project-page .chat-app .chat-center .chat-composer{
  max-height:34vh !important;
  overflow-y:auto !important;
}
.ideas-panel{padding:8px 10px !important;gap:6px !important}
.ideas-buttons{gap:6px !important}
.ideas-buttons button{padding:6px 10px !important;font-size:12.5px !important}
#instruction{min-height:36px !important}
.mode-row{margin-bottom:2px !important}
.chat-composer{padding:8px 12px 10px !important}
.chat-composer form{padding:6px !important}

/* Tišší, méně "roztahané" bubliny a mezery v chatu */
.chat-thread{padding:16px !important}
.bubble{margin:10px 0 !important;padding:12px 14px !important}
.bubble .content{margin-top:6px !important;line-height:1.45 !important}
.bubble b{font-size:13px}
.bubble time{font-size:11px}
.welcome{margin:4vh auto !important;padding:26px !important}

/* Karel v3.15 – na mobilu jen ikony u composer tlačítek, ať se vejdou vedle sebe */
@media(max-width:980px){
  .composer-actions .btn-label{display:none}
  .composer-actions .file-drop,
  .composer-actions #dictateBtn,
  .composer-actions #submitBtn{padding:10px 14px !important;min-width:0 !important}
  .composer-actions{gap:8px !important}
}

/* ============================================================
   Karel v3.16 – composer jako plovoucí okno přes vlákno zpráv,
   podle návrhu. Vlákno teď smí využít prakticky celou výšku,
   composer se vznáší nad ním jako samostatná kartička.
   ============================================================ */
body.project-page .chat-app .chat-center{position:relative !important}

body.project-page .chat-app .chat-center #thread{
  padding-bottom:280px; /* výchozí, dostatečně velké i bez JS; JS to zpřesní podle skutečné výšky composeru */
}

body.project-page .chat-app .chat-center .chat-composer{
  position:absolute !important;
  left:14px !important; right:14px !important; bottom:14px !important;
  flex:none !important;
  border-top:none !important;
  background:transparent !important;
  backdrop-filter:none !important;
  padding:0 !important;
  z-index:30;
  max-height:60vh !important;
  overflow-y:auto !important;
}
body.project-page .chat-app .chat-center .chat-composer form{
  box-shadow:0 18px 50px rgba(16,24,18,.16) !important;
  border-color:rgba(16,182,92,.22) !important;
}

@media(max-width:980px){
  body.project-page .chat-app .chat-center #thread{padding-bottom:320px}
  body.project-page .chat-app .chat-center .chat-composer{left:8px !important;right:8px !important;bottom:8px !important;max-height:65vh !important}
}

/* ============================================================
   Karel v3.17 – oprava stínu, zrychlené zadání jako jeden řádek,
   mobilní hamburger menu, oprava bílé ikony hledání.
   ============================================================ */

/* Oprava: .icon-btn dědil bílou barvu z obecného pravidla pro button → bílá ikona na bílém pozadí */
.icon-btn{color:var(--fc-ink,#111714) !important;padding:0 !important}

/* Composer bez ořezávajícího overflow – stín se teď zobrazí celý, ne uříznutý */
body.project-page .chat-app .chat-center .chat-composer{
  overflow:visible !important;
  max-height:none !important;
}

/* "Zrychlené zadání" - jeden kompaktní řádek místo tlačítka + rozbalovacího panelu */
.quick-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px;padding:0 2px}
.quick-label{font-size:11.5px;font-weight:800;color:var(--fc-muted,#65716a);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;margin-right:2px}
.quick-row button{padding:5px 10px;border-radius:999px;border:1px solid var(--fc-line,#dfe8df);background:#fff;font-size:12px;font-weight:600;color:var(--fc-ink,#111714);cursor:pointer;white-space:nowrap}
.quick-row button:hover{border-color:var(--fc-green,#19b85f);background:var(--fc-mint,#e9fff1)}

/* Info přepínač u "Karel čeká na tvoje potvrzení" */
.info-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:none;background:transparent;color:var(--fc-muted,#65716a);cursor:pointer;vertical-align:-4px;padding:0}
.info-toggle:hover{color:var(--fc-green-dark,#08753a)}

@media(max-width:980px){
  /* Zrychlené zadání pryč z mobilu – ušetří místo, mikrofon/ikony stačí */
  .quick-row{display:none !important}

  /* Hamburger menu pro horní lištu */
  /* flex-wrap zůstává na "wrap" (výchozí) – menu se musí zalomit na nový řádek, viz oprava níže */
  .topnav-burger{
    display:inline-flex !important;align-items:center;justify-content:center;
    width:36px;height:36px;border-radius:10px;border:1px solid var(--fc-line,#dfe8df);
    background:#fff;color:var(--fc-ink,#111714);cursor:pointer;flex:0 0 auto;order:2;
    padding:0 !important;
  }
  .app-topnav-brand{order:1;flex:1 1 auto;min-width:0}
  .app-topnav .account-menu{order:3;flex:0 0 auto}
  .app-topnav-links{
    order:4;width:100%;flex-basis:100%;
    display:none;flex-direction:column;gap:2px;
    padding-top:10px;margin-top:8px;border-top:1px solid var(--fc-line,#dfe8df);
  }
  .app-topnav-links.open{display:flex !important}
  .app-topnav-links a{width:100%;text-align:left}

  /* Aktivní návrh: vysvětlující text schovaný za ikonou (i), ušetří místo */
  #briefInfoText{display:none}
  #briefInfoText.open{display:block}
}
@media(min-width:981px){
  .topnav-burger{display:none !important}
}

/* Karel v3.18 – tři konkrétní opravy z mobilních screenshotů */

/* Oprava 2: starší pravidlo ".active-brief button{width:100%}" roztahovalo i malé
   kolečko (i) na celou šířku (vznikl zploštělý zelený "oválek"). */
.active-brief .info-toggle{width:20px !important;height:20px !important;flex:0 0 auto !important}

/* Oprava 3: menu se muselo zalomit na nový řádek pod hlavičku, ne vměstnat vedle ní. */
@media(max-width:980px){
  .app-topnav{flex-wrap:wrap !important}
}

/* ============================================================
   Karel v3.20 – Fronta úkolů (board.php)
   ============================================================ */
.board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:18px 0}
.board-head h1{display:flex;align-items:center;gap:10px;font-size:22px;margin:8px 0 4px}
.board-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--fc-card,#fff);border:1px solid var(--fc-line,#dfe8df);border-radius:16px;padding:12px 16px;margin-bottom:18px}
.board-filters input[type="text"]{flex:1 1 220px;min-width:160px;padding:9px 12px;border-radius:10px;border:1px solid var(--fc-line,#dfe8df)}
.board-filters select{padding:9px 12px;border-radius:10px;border:1px solid var(--fc-line,#dfe8df)}
.checkbox-filter{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--fc-muted,#65716a);white-space:nowrap}
.board-columns{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:16px;padding-bottom:40px}
.board-column{background:var(--fc-soft,#f0f7f2);border-radius:18px;padding:14px;min-height:120px}
.board-column header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.board-column header h2{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--fc-muted,#65716a);margin:0}
.board-count{background:var(--fc-card,#fff);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:800;color:var(--fc-ink,#111714)}
.board-waiting .board-count{color:#8a6d1f}
.board-progress .board-count{color:var(--fc-purple,#7c5cff)}
.board-done .board-count{color:var(--fc-green-dark,#08753a)}
.board-failed .board-count{color:var(--fc-red,#ef4444)}
.board-card{background:#fff;border-radius:14px;padding:12px;margin-bottom:10px;box-shadow:var(--shadow-sm,0 10px 28px rgba(13,37,20,.07))}
.board-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.board-card-top time{font-size:11px;color:var(--fc-muted,#65716a)}
.board-card-text{font-size:13.5px;line-height:1.4;margin:0 0 8px;color:var(--fc-ink,#111714)}
.board-card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.board-card-tags .tag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--fc-soft,#f0f7f2);color:var(--fc-muted,#65716a)}
.board-card-tags .tag-output{background:var(--fc-mint,#e9fff1);color:var(--fc-green-dark,#08753a)}
.board-card-actions{display:flex;flex-wrap:wrap;gap:10px}
.board-card-actions a{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--fc-green-dark,#08753a);text-decoration:none}
.board-card-actions a:hover{text-decoration:underline}

@media(max-width:980px){
  .board-columns{grid-template-columns:1fr;gap:20px}
  .board-filters{flex-direction:column;align-items:stretch}
}

/* Karel v3.21 – tagy na kartě projektu jsou teď mimo hlavní odkaz (aby mohly
   mít vlastní odkazy na frontu úkolů) – musí zabrat celý řádek v gridu karty. */
.project-row{grid-template-columns:1fr auto !important}
.project-row .tags{grid-column:1/-1}
.tags .tag-link,.tags .warn-tag{text-decoration:none;cursor:pointer;border:none;font:inherit}
.tags .tag-link{background:var(--fc-soft,#f0f7f2);color:var(--fc-muted,#65716a);padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:600}
.tags .tag-link:hover{background:var(--fc-mint,#e9fff1);color:var(--fc-green-dark,#08753a)}
.board-delete-form{margin:0}
.board-delete-btn{width:22px;height:22px;padding:0;border-radius:50%;border:1px solid var(--fc-line,#dfe8df);background:#fff;color:var(--fc-muted,#65716a);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.board-delete-btn:hover{background:#fee2e2;color:var(--fc-red,#ef4444);border-color:var(--fc-red,#ef4444)}

/* Karel v3.21 – krokovník workflow tvorby WP webu + capability list v Konektivitě */
.workflow-steps{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.workflow-steps li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;font-size:12.5px}
.wf-dot{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:var(--fc-line,#dfe8df);color:var(--fc-muted,#65716a)}
.wf-done{color:var(--fc-muted,#65716a)}
.wf-done .wf-dot{background:var(--fc-green,#19b85f);color:#fff}
.wf-active{background:var(--fc-mint,#e9fff1);font-weight:700}
.wf-active .wf-dot{background:var(--fc-green-dark,#08753a);color:#fff}
.wf-label{flex:1 1 auto}
.wf-set{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--fc-line,#dfe8df);background:#fff;cursor:pointer;flex:0 0 auto}
.wf-set:hover{border-color:var(--fc-green,#19b85f);color:var(--fc-green-dark,#08753a)}

.capability-list{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.capability-list li{font-size:13.5px;padding:6px 0;border-bottom:1px solid var(--fc-line,#dfe8df)}
.cap-yes{color:var(--fc-green-dark,#08753a);font-weight:700}
.cap-no{color:var(--fc-muted,#65716a);font-style:italic}

/* Karel v3.22 – zvýrazněné tlačítko "Analyzovat a navrhnout úkoly" (chybějící krok mezi daty a AI) */
.btn-analyze{background:linear-gradient(135deg,var(--fc-purple,#7c5cff),#5c3bff);color:#fff;border:none;font-weight:800;box-shadow:0 14px 34px rgba(124,92,255,.28)}
.btn-analyze:hover{filter:brightness(1.06)}
