:root{--navy: #091e38;--red: #ff3200;--dark-red: #b01d00;--blue: #37c1f1;--bridge: #084982;--green: #22a95b;--paper: #f5f6f8;--line: #dde1e7;--muted: #5b6676;--radius: 10px}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--navy);background:var(--paper)}h1,h2,h3{margin:0 0 .5rem}h1{font-size:1.6rem}h2{font-size:1.15rem}h3{font-size:.95rem;color:var(--muted)}a{color:var(--bridge)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:var(--navy);color:#fff}.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-weight:700;font-size:1.3rem;letter-spacing:.02em}.topbar-user{display:flex;align-items:center;gap:.75rem}.content{max-width:1000px;margin:0 auto;padding:1.5rem 1rem 4rem}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.section-head h2{margin:0}.empty,.loading,.meta{color:var(--muted)}.meta{font-size:.8rem;margin:.35rem 0 0}.page-error,.form-error{color:var(--dark-red)}.empty-state{text-align:center;padding:3rem 1rem}.motto{margin:-.25rem 0 1rem;color:var(--red);font-weight:700;letter-spacing:.04em;font-size:.85rem}.pre{white-space:pre-wrap;margin:0}.btn{border:1px solid transparent;border-radius:6px;padding:.5rem .9rem;font:inherit;cursor:pointer;background:#fff;color:var(--navy)}.btn.primary{background:var(--red);color:#fff}.btn.primary:hover{background:var(--dark-red)}.btn.ghost{border-color:var(--line)}.topbar .btn.ghost{background:transparent;color:#fff;border-color:#fff6}.btn.small{padding:.3rem .6rem;font-size:.85rem}.btn.danger{color:var(--dark-red);border-color:var(--dark-red)}a.btn{display:inline-block;text-decoration:none}.btn:disabled{opacity:.6;cursor:default}.icon-btn{border:none;background:none;cursor:pointer;font-size:1.05rem;color:var(--muted);padding:.2rem .4rem}.icon-btn:hover{color:var(--navy)}.dossier-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.back{display:inline-block;margin-bottom:.75rem;padding:.45rem .9rem;background:#fff;border:1px solid var(--bridge);border-radius:6px;color:var(--bridge);font-weight:700;text-decoration:none}.back:hover{background:#eef4fa}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:.75rem;margin-left:.4rem;vertical-align:middle}.badge.cat{background:#e8f7fd;border-color:var(--blue)}.evaluation-badge{margin-left:0;padding:.25rem .7rem;font-size:.85rem;font-weight:700}.evaluation-badge.yellow{background:#fff4cc;border-color:#d9a400}.evaluation-badge.red{background:#ffe5de;border-color:var(--red);color:var(--dark-red)}.evaluation-badge.green{background:#e6f6ec;border-color:var(--green);color:#17723d}.invite-badge{background:#eef4fa;border-color:var(--bridge);color:var(--bridge)}.invite-fields{display:grid;gap:.5rem}.input-group{display:flex}.input-group input{flex:1;min-width:0;border-radius:6px 0 0 6px}.input-group .btn{flex:none;margin-left:-1px;border-color:var(--line);border-radius:0 6px 6px 0;padding:0 .6rem;background:var(--paper);font-size:.8rem;white-space:nowrap}.input-group .btn:hover{background:#eef4fa}.input-group input:focus{position:relative;z-index:1}.eval-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.eval-filter{cursor:pointer;font:inherit;font-size:.85rem;font-weight:700}.eval-filter[aria-pressed=true]{outline:2px solid var(--navy);outline-offset:1px}.file-input{display:none}label.btn{display:inline-block}.import-summary{margin-bottom:1rem;padding:.75rem;background:#e8f7fd;border-left:4px solid var(--blue);border-radius:4px}.import-warnings{margin:0 0 .5rem;padding-left:1.2rem;color:var(--dark-red)}.import-list{margin:0}.import-list dt{margin-top:.4rem;font-size:.8rem;color:var(--muted)}.import-list dd{margin:0}.import-list ul{margin:0;padding-left:1.2rem}.import-months{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem .75rem;padding-left:0!important}.btn.plan-soon{background:#ffd24d;border-color:#d9a400;font-weight:700}.btn.plan-soon:hover{background:#ffc61a}.btn.plan-late{background:var(--red);color:#fff;font-weight:700}.btn.plan-late:hover{background:var(--dark-red)}.evaluation-plain{font-size:.85rem;color:var(--muted)}.badge.ok{background:#e6f6ec;border-color:var(--green)}.basics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem 1.25rem;margin:0}.basics>div:nth-child(3){grid-column-start:1}.basics dt{font-size:.8rem;color:var(--muted)}.basics dd{margin:.1rem 0 0;font-weight:700;overflow-wrap:anywhere}.goal{border:1px solid var(--line);border-left:4px solid var(--red);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem}.goal.achieved{border-left-color:var(--green)}.goal-head{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.goal-title{font-weight:700;font-size:1.05rem}.progress{height:8px;background:var(--paper);border-radius:999px;overflow:hidden;margin:.6rem 0 .25rem}.progress>div{height:100%;background:var(--green);transition:width .2s}.progress-label{font-size:.8rem;color:var(--muted)}.goal-actions{margin-top:.5rem}.goal-actions summary{display:flex;align-items:center;gap:.4rem;padding:.45rem .6rem;background:var(--paper);border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:700;list-style:none}.goal-actions summary::-webkit-details-marker{display:none}.goal-actions summary:before{content:"▸";font-size:1.1rem;line-height:1;color:var(--bridge)}.goal-actions[open] summary:before{content:"▾"}.goal-actions summary:hover{background:#eef4fa;border-color:var(--bridge)}.goal[draggable=true]{cursor:grab}.goal[draggable=true]:active{cursor:grabbing}.goal-col{min-height:6rem;min-width:0;border-radius:var(--radius)}.goal-col.drop{outline:2px dashed var(--bridge);outline-offset:4px}.goal-footer{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.item-list{list-style:none;margin:0;padding:0}.item{display:flex;justify-content:space-between;gap:.75rem;padding:.6rem 0;border-top:1px solid var(--line)}.item:first-child{border-top:none}.item-body{flex:1;min-width:0}.item-tools{display:flex;align-items:flex-start}.item.done .item-title{text-decoration:line-through;color:var(--muted)}.status-toggle{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:.35rem}.status-toggle button{border:none;background:#fff;padding:.25rem .6rem;font:inherit;font-size:.8rem;cursor:pointer;color:var(--muted)}.status-toggle button+button{border-left:1px solid var(--line)}.status-toggle button.on{background:var(--navy);color:#fff}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.two-col.cards{margin-bottom:1rem}.two-col.cards>.card{margin-bottom:0;min-width:0}.col-title{display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.35rem;border-bottom:2px solid var(--line)}.col-title.done{color:#17723d;border-color:var(--green)}.section-title{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem}.section-title .motto{margin:0}.more{position:relative}.more summary{list-style:none}.more summary::-webkit-details-marker{display:none}.more-menu .btn{display:block;width:100%;padding:.2rem .45rem;border:none;text-align:left;white-space:nowrap}.more-menu .btn:hover{background:var(--paper)}.more-menu{position:absolute;right:0;top:calc(100% + .25rem);z-index:2;display:grid;gap:.1rem;padding:.2rem;width:max-content;background:#fff;border:1px solid var(--line);border-radius:6px}.title-with-hint{position:relative;display:flex;align-items:center;gap:.4rem}.hint-wrap{display:inline-flex}.hint-btn{width:1.25rem;height:1.25rem;padding:0;border:1px solid var(--bridge);border-radius:50%;background:#fff;color:var(--bridge);font:700 .8rem Arial,sans-serif;line-height:1;cursor:help}.hint-text{position:absolute;left:0;top:calc(100% + .35rem);z-index:2;width:17rem;max-width:65vw;padding:.55rem .7rem;background:var(--navy);color:#fff;border-radius:6px;font-size:.85rem;font-weight:400;visibility:hidden}.hint-wrap:hover .hint-text,.hint-btn:focus+.hint-text{visibility:visible}.toolbar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.toolbar input[type=search]{flex:1;min-width:200px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line)}th button{border:none;background:none;font:inherit;font-weight:700;cursor:pointer;color:var(--navy);padding:0}tr.archived td{color:var(--muted)}tr.clickable{cursor:pointer}tr.clickable td{height:2.9rem}tr.clickable a{color:inherit;text-decoration:none}tr.clickable:hover td{background:#eef4fa}input,textarea,select{width:100%;font:inherit;padding:.5rem .6rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy)}textarea{resize:vertical}.field{display:block;margin-bottom:.75rem}.field>span{display:block;font-size:.85rem;margin-bottom:.25rem;font-weight:700}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.75rem 1rem;align-items:start;margin-bottom:1.25rem}.form-grid .field,.form-grid .picked,.form-grid .picker-list{margin-bottom:0}.form-grid .empty{margin:.25rem 0 0}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.checkbox{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.checkbox input{width:auto}.picker-list{list-style:none;margin:.25rem 0 .75rem;padding:0;border:1px solid var(--line);border-radius:6px;max-height:260px;overflow-y:auto}.picker-list button{display:block;width:100%;text-align:left;border:none;background:#fff;padding:.5rem .75rem;cursor:pointer;font:inherit}.picker-list button:hover{background:var(--paper)}.picked{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#e8f7fd;border-radius:6px;margin-bottom:.75rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#091e388c;display:flex;align-items:flex-start;justify-content:center;padding:5vh 1rem;overflow-y:auto;z-index:10}.modal{background:#fff;border-radius:var(--radius);padding:1.25rem;width:100%;max-width:560px}.mail-preview{margin:0 0 1rem;padding:.75rem;background:var(--paper);border-radius:6px}.mail-preview dt{font-size:.8rem;color:var(--muted)}.mail-preview dd{margin:0 0 .5rem;overflow-wrap:anywhere}.mail-preview dd:last-child{margin-bottom:0;white-space:pre-wrap}.mail-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.mail-row .meta{margin:0}.plan-steps{display:grid;gap:1.1rem;margin:0 0 1.25rem;padding:0;list-style:none;counter-reset:plan}.plan-steps li{position:relative;padding-left:2.25rem;counter-increment:plan}.plan-steps li:before{content:counter(plan);position:absolute;left:0;top:0;display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--navy);color:#fff;font-size:.8rem;font-weight:700}.plan-steps h3{margin:0 0 .4rem;color:var(--navy);font-size:1rem;line-height:1.5rem}.plan-date{max-width:11rem}.plan-remove{border:none;background:none;padding:0;color:var(--dark-red);font:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.modal-actions .left{margin-right:auto}.modal.narrow{max-width:420px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-head h2{margin:0}.history{list-style:none;padding:0;margin:0}.history li{padding:.5rem 0;border-top:1px solid var(--line);font-size:.9rem}.history li:first-child{border-top:none}.history time{display:block;font-size:.75rem;color:var(--muted)}@media (max-width: 720px){tr.clickable td{white-space:nowrap}.two-col{grid-template-columns:minmax(0,1fr)}.basics{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3{grid-column:span 6}.span-4,.span-6{grid-column:span 12}.input-group{flex-direction:column}.input-group input{border-radius:6px 6px 0 0}.input-group .btn{margin:-1px 0 0;padding:.35rem;border-radius:0 0 6px 6px}}@media (max-width: 600px){.topbar{padding:.6rem 1rem}.topbar-user span{display:none}.content{padding:1rem .6rem 3rem}.card{padding:1rem}}@media print{body{background:#fff}.topbar,.btn,.icon-btn,.back,.hint-wrap{display:none}.goal-actions summary{padding:0;background:none;border:none}.goal-actions summary:before{content:none}.content{max-width:none;padding:0}.card{border:none;padding:0 0 .75rem;break-inside:auto}.goal,.item{break-inside:avoid}h2{break-after:avoid}.status-toggle{border:none}.status-toggle button:not(.on){display:none}.status-toggle button.on{padding:0;background:none;color:var(--navy);font-weight:700}.evaluation-badge,.progress,.progress>div{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
