@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap";:root{--color-bg-primary:#fcfcfc;--color-bg-secondary:#f8f8f8;--color-bg-tertiary:#f3f3f3;--color-bg-elevated:#ededed;--color-border-subtle:#e8e8e8;--color-border:#dbdbdb;--color-border-strong:#c7c7c7;--color-text-faint:#8f8f8f;--color-text-secondary:#858585;--color-text-muted:#6f6f6f;--color-text-primary:#171717;--color-btn-primary-bg:var(--color-text-primary);--color-btn-primary-text:var(--color-bg-primary);--shadow-sm:0 1px 2px #0000000a;--shadow-md:#0000001f 0px 4px 30px, #0000000a 0px 3px 17px, #0000000a 0px 2px 8px, #0000000a 0px 1px 1px;color:var(--color-text-primary);background-color:var(--color-bg-secondary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--color-bg-primary:#1c1c1c;--color-bg-secondary:#161616;--color-bg-tertiary:#232323;--color-bg-elevated:#282828;--color-border-subtle:#2e2e2e;--color-border:#3e3e3e;--color-border-strong:#505050;--color-text-faint:#707070;--color-text-secondary:#7e7e7e;--color-text-muted:#bbb;--color-text-primary:#ededed;--color-btn-primary-bg:var(--color-text-primary);--color-btn-primary-text:#161616;--shadow-md:0px 16px 70px #00000080}}*,:before,:after{box-sizing:border-box}body{background-color:var(--color-bg-secondary);min-width:320px;min-height:100vh;color:var(--color-text-primary);margin:0}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.2}h1{font-size:2rem;font-weight:700}h2{font-size:1.5rem;font-weight:700}h3{font-size:1.25rem;font-weight:600}h4{font-size:1.125rem;font-weight:600}h5{font-size:1rem;font-weight:600}h6{font-size:.875rem;font-weight:600}p{color:var(--color-text-secondary);margin:0;line-height:1.6}a{color:var(--color-text-primary);font-weight:500;text-decoration:none;transition:color .15s}a:hover{color:var(--color-text-muted)}a:focus{outline:2px solid var(--color-border-strong);outline-offset:2px}ul,ol{margin:0;padding:0}input,textarea,select,button{font-family:inherit;font-size:inherit}:focus{outline:2px solid var(--color-border);outline-offset:1px}:focus-visible{outline:2px solid var(--color-border-strong);outline-offset:1px}button{font:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;transition:all .2s}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{scroll-behavior:smooth}::selection{background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.access-denied-page{background:var(--color-bg-secondary);justify-content:center;align-items:center;min-height:100vh;display:flex}.access-denied-content{text-align:center;background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:.5rem;max-width:400px;padding:3rem}.access-denied-content h1{color:var(--color-text-primary);margin:0 0 1rem;font-size:1.5rem;font-weight:600}.access-denied-message{color:var(--color-text-secondary);margin:0 0 2rem}.access-denied-logout{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);cursor:pointer;border:none;border-radius:.375rem;padding:.75rem 1.5rem;font-size:.8rem;font-weight:500;transition:opacity .15s}.access-denied-logout:hover{opacity:.85}.login-page{background:var(--color-bg-secondary);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.login-container{z-index:100;width:100%;max-width:420px;padding:1.5rem;position:relative}.login-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.75rem;padding:3rem 2.5rem;animation:.4s ease-out fadeSlideUp}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.login-title{color:var(--color-text-primary);margin:0 0 .5rem;font-size:1.75rem;font-weight:600;line-height:1.3}.login-subtitle{color:var(--color-text-secondary);margin:0;font-size:1rem}.login-content{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:2rem;display:flex}.login-divider{text-align:center;align-items:center;margin:.5rem 0;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid var(--color-border);flex:1}.login-divider span{color:var(--color-text-faint);padding:0 1rem;font-size:.8rem;font-weight:500}.login-button{border:1px solid var(--color-border);background:var(--color-bg-primary);width:100%;color:var(--color-text-primary);cursor:pointer;border-radius:.375rem;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1.5rem;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.login-button:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-strong)}.login-button:active{background:var(--color-bg-elevated)}.login-button--google svg,.login-button--microsoft svg{flex-shrink:0}.login-footer{text-align:center;border-top:1px solid var(--color-border);padding-top:1.5rem}.login-footer-text{color:var(--color-text-faint);margin:0;font-size:.8rem;line-height:1.5}.login-footer-text a{color:var(--color-text-secondary)}.login-footer-text a:hover{color:var(--color-text-primary)}.otp-form{flex-direction:column;gap:.75rem;display:flex}.otp-input{border:1px solid var(--color-border);background:var(--color-bg-primary);width:100%;color:var(--color-text-primary);box-sizing:border-box;border-radius:.375rem;outline:none;padding:.75rem 1rem;font-size:.8rem;transition:border-color .2s}.otp-input:focus{border-color:var(--color-border-strong)}.otp-input--code{text-align:center;letter-spacing:.3em;font-size:1.125rem;font-weight:600}.otp-input--code::placeholder{letter-spacing:normal;font-size:.8rem;font-weight:400}.otp-sent-message{color:var(--color-text-secondary);text-align:center;margin:0;font-size:.8rem}.otp-back-link{color:var(--color-text-faint);cursor:pointer;text-align:center;background:0 0;border:none;padding:.25rem;font-size:.8rem}.otp-back-link:hover:not(:disabled){color:var(--color-text-secondary);text-decoration:underline}.otp-back-link:disabled{opacity:.5;cursor:not-allowed}.otp-actions{justify-content:center;align-items:center;gap:.5rem;display:flex}.otp-actions-separator{color:var(--color-text-faint);font-size:.8rem}.otp-error{color:#e25c5c;text-align:center;margin:0;font-size:.8rem}.login-button--otp{background:var(--color-bg-primary);color:var(--color-text-primary)}.login-button--otp:disabled{opacity:.6;cursor:not-allowed}@media (max-width:480px){.login-container{padding:1rem}.login-card{padding:2rem 1.5rem}.login-title{font-size:1.5rem}.login-subtitle{font-size:.8rem}}.board{width:100%}.board-loading,.board-error{text-align:center;color:var(--color-text-secondary);padding:3rem}.board-error{color:#c44}.board-breadcrumbs{align-items:center;gap:.25rem;margin-bottom:.75rem;font-size:.8rem;display:flex}.board-breadcrumb-link{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.125rem .25rem;font-size:.8rem}.board-breadcrumb-link:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.board-breadcrumb-separator{color:var(--color-text-faint);margin:0 .125rem}.board-breadcrumb-current{color:var(--color-text-primary);font-weight:600}.board-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.board-title{align-items:baseline;gap:.75rem;display:flex}.board-title h3{font-size:1.125rem;font-weight:600}.board-count{color:var(--color-text-faint);font-size:.8rem}.board-create-btn{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border-radius:.375rem;padding:.5rem 1rem;font-size:.8rem;font-weight:500}.board-create-btn:hover{opacity:.85}.board-columns{grid-template-columns:repeat(3,1fr);gap:1rem;min-height:400px;display:grid}.board-column{background:var(--color-bg-elevated);border-radius:.5rem;flex-direction:column;min-height:0;display:flex}.board-column-header{justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.board-column-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.board-column-count{color:var(--color-text-faint);background:var(--color-bg-secondary);border-radius:999px;padding:.125rem .5rem;font-size:.75rem}.board-column-body{flex-direction:column;flex:1;gap:.5rem;padding:0 .5rem .5rem;display:flex;overflow-y:auto}.board-column-empty{text-align:center;color:var(--color-text-faint);padding:2rem 1rem;font-size:.8rem}.board-column--drag-over{background:var(--color-bg-tertiary);outline:2px dashed var(--color-border-strong);outline-offset:-2px}.board-card{background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);cursor:pointer;border-radius:.375rem;padding:.75rem;transition:border-color .2s,opacity .15s}.board-card:active{cursor:grabbing;opacity:.6}.board-card:hover{border-color:var(--color-border)}.board-card-header{justify-content:space-between;align-items:center;margin-bottom:.375rem;display:flex}.board-card-type{text-transform:uppercase;letter-spacing:.03em;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:.25rem;padding:.125rem .375rem;font-size:.7rem;font-weight:600}.board-card-type--bug{color:#c44;background:#cc444414}.board-card-type--epic{color:#94f;background:#9944ff14}.board-card-actions{opacity:0;gap:.25rem;transition:opacity .15s;display:flex}.board-card:hover .board-card-actions{opacity:1}.board-card-action-btn{color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.25rem .5rem;font-size:1rem;transition:color .15s,background .15s}.board-card-action-btn:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.board-card-delete-btn:hover{color:#c44;background:#cc444414}.board-card-title{color:var(--color-text-primary);font-size:.85rem;font-weight:500;line-height:1.3}.board-card-desc{color:var(--color-text-faint);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.75rem;line-height:1.4;display:-webkit-box;overflow:hidden}.board-card-children-count{color:var(--color-text-faint);margin-top:.375rem;font-size:.7rem}.board-modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.board-modal{background:var(--color-bg-primary);box-shadow:var(--shadow-md);border-radius:.5rem;width:100%;max-width:480px;margin:1rem}.board-modal-header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.board-modal-header h4{margin:0}.board-modal-close{color:var(--color-text-faint);padding:.25rem;font-size:1.25rem;line-height:1}.board-modal-close:hover{color:var(--color-text-primary)}.board-modal--narrow{max-width:400px}.board-modal-header--danger h4{color:#c44}.board-delete-body{padding:1.25rem}.board-delete-body p{color:var(--color-text-primary);margin:0;font-size:.85rem;line-height:1.5}.board-delete-warning{background:#cc44440f;border:1px solid #cc444426;border-radius:.375rem;padding:.625rem .75rem;color:#c44!important;margin-top:.75rem!important;font-size:.8rem!important}.board-btn-danger{color:#fff;background:#c44;border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.8rem;font-weight:500}.board-btn-danger:hover:not(:disabled){background:#b33}.board-btn-danger:disabled{opacity:.5;cursor:not-allowed}.board-form-field{margin-top:1rem;padding:0 1.25rem}.board-form-field label{color:var(--color-text-secondary);margin-bottom:.375rem;font-size:.8rem;font-weight:500;display:block}.board-form-field input,.board-form-field textarea,.board-form-field select{border:1px solid var(--color-border);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);border-radius:.375rem;padding:.5rem .75rem;font-size:.85rem}.board-form-field input:focus,.board-form-field textarea:focus,.board-form-field select:focus{border-color:var(--color-border-strong);outline:none}.board-form-field textarea{resize:vertical}.board-form-actions{justify-content:flex-end;gap:.5rem;padding:1.25rem;display:flex}.board-btn-secondary{border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);border-radius:.375rem;padding:.5rem 1rem;font-size:.8rem;font-weight:500}.board-btn-secondary:hover{background:var(--color-bg-tertiary)}.board-btn-primary{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.8rem;font-weight:500}.board-btn-primary:hover:not(:disabled){opacity:.85}.board-btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.board-columns{grid-template-columns:1fr}}.home-page{background:var(--color-bg-secondary);flex-direction:column;min-height:100vh;display:flex}.home-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.home-header h1{color:var(--color-text-primary);margin:0;font-size:1.25rem;font-weight:600}.home-user{align-items:center;gap:1rem;display:flex}.home-user-name{color:var(--color-text-secondary);font-size:.8rem}.home-logout-button{border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;border-radius:.375rem;padding:.5rem 1rem;font-size:.8rem;font-weight:500;transition:all .2s}.home-logout-button:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-strong)}.home-main{flex:1;width:100%;padding:1.5rem 2rem}.home-welcome{text-align:center;margin-bottom:2rem}.home-welcome h2{color:var(--color-text-primary);margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.home-welcome p{color:var(--color-text-secondary);margin:0;font-size:1rem}.home-sections{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.home-section-card{background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:.5rem;padding:2rem;text-decoration:none;transition:all .2s;display:block}.home-section-card:hover{border-color:var(--color-border);background:var(--color-bg-tertiary)}.home-section-card h3{color:var(--color-text-primary);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.home-section-card p{color:var(--color-text-faint);margin:0;font-size:.8rem}.App{min-height:100vh}
